Script_Torrent/propedit.sh

145 lines
4.2 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
function checkGlobal() {
hash mkvpropedit 2>/dev/null || {
echo >&2 "Erreur: Commande mkvmerge pas trouvé, merci de l'installer"
exit 1
}
hash filebot() 2>/dev/null || {
echo >&2 "Erreur: Commande filebot pas trouvé, merci de l'installer"
exit 1
}
hash mediainfo() 2>/dev/null || {
echo >&2 "Erreur: Commande mediainfo pas trouvé, merci de l'installer"
exit 1
}
if [ -d "Fait" ]; then
echo "Le dossier Fait existe"
else
mkdir Fait
echo "Le dossier Fait n'existe pas, il a été créé"
fi
}
## on lance la fonction
checkGlobal
# $1 est le fichier à traiter préciser dans la commande
# On récupère le nom du fichier
fichier=$(basename "$1")
echo "Traitement du fichier $fichier"
## Check input file.
if [ ! -f "$fichier" ]; then
echo >&2 "ErroErreurr: Fichier d'entrée non trouvé"
exit 1
fi
mediainfo "$fichier"
echo " Quel est le nom de la piste VFF ? "
read vff
echo " Quel est le nom de la piste VO ? "
read vo
for i in *.mkv; do
shit=$(mkvinfo "$i" | awk '/mkvextract/')
#compter le nombre de ligne de mkvextract
nbLigne=$(echo "$shit" | wc -l)
if [ $nbLigne == 6 ]; then
echo "Lancement de la modification du fichier "$i" , 6 tracks"
#mkvmerge --output Fait/"$i"'.TEST.mkv' --language 0:und --default-track 0:yes --display-dimensions 0:1920x1080 --language 1:fr --track-name "1:${vff}" --default-track 1:yes --language 2:en --track-name "2:${vo}" --sub-charset 3:UTF-8 --language 3:fr --track-name '3:VFF Forced' --default-track 3:yes --sub-charset 4:UTF-8 --language 4:fr --track-name '4:VFF Full' --sub-charset 5:UTF-8 --language 5:en --track-name '5:VO Full' '(' "$i" ')' --title "" --track-order 0:0,0:1,0:2,0:3,0:4,0:5
mkvmerge --output Fait/"$i"'.TEST.mkv' \
--language 0:und \
--default-track 0:yes \
--display-dimensions 0:1920x1080 \
--language 1:fr \
--track-name "1:${vff}" \
--default-track 1:yes \
--language 2:en \
--track-name "2:${vo}" \
--sub-charset 3:UTF-8 \
--language 3:fr \
--track-name '3:VFF Forced' \
--forced-track 3:yes \
--default-track 3:yes \
--sub-charset 4:UTF-8 \
--language 4:fr \
--track-name '4:VFF Full' \
--sub-charset 5:UTF-8 \
--language 5:en \
--track-name '5:VO Full' '(' "$i" ')' \
--title "" \
--track-order 0:0,0:1,0:2,0:3,0:4,0:5
fi
if [ $nbLigne == 5 ]; then
echo "Lancement de la modification du fichier "$i" , 5 tracks"
mkvmerge --output Fait/"$i"'.TEST.mkv' \
--language 0:und \
--default-track 0:yes \
--display-dimensions 0:1920x1080 \
--language 1:fr \
--track-name "1:${vff}" \
--default-track 1:yes \
--language 2:en \
--track-name "2:${vo}" \
--sub-charset 3:UTF-8 \
--language 3:fr \
--track-name '3:VFF Full' \
--sub-charset 4:UTF-8 \
--language 4:fr \
--track-name '4:VO Full' '(' "$i" ')' \
--title "" \
--track-order 0:0,0:1,0:2,0:3,0:4
fi
if [ $nbLigne == 4 ]; then
echo "Lancement de la modification du fichier "$i" , 4 tracks"
mkvmerge --output Fait/"$i"'.TEST.mkv' \
--language 0:und \
--default-track 0:yes \
--display-dimensions 0:1920x1080 \
--language 1:fr \
--track-name "1:${vff}" \
--default-track 1:yes \
--language 2:en \
--track-name "2:${vo}" \
--sub-charset 3:UTF-8 \
--language 3:fr \
--track-name '3:VFF Full' '(' "$i" ')' \
--title "" \
--track-order 0:0,0:1,0:2,0:3
fi
done
cd Fait
for i in *.mkv; do
i2=$(echo $i | sed -E 's/.TEST.mkv//gm;t;d')
mv "$i" "$i2"
done
cd ..
rm *.mkv
mv Fait/* .
rm -r Fait
filebot -rename *.mkv --db TheTVDB --lang French
#FIn du programme
echo "Merci de m'avoir utilisé !"
exit 0