Et donc, je me réponds, et je vais avoir droit à la geekscotte :p
C'est sale, c'est pas fini, mais ça fait le taff :p
#!/bin/sh##### manga_to_epub.sh# Ce script convertit un répertoire contenant des images d'un scantrad de# manga en epub utilisable sur un reader Sony TRS-P2# Il prend en argument le chemin vers le répertoire contenant le "chapitre"# qui devra être traité.# Le chemin devra se présenter sous la forme : /bla/bla/nom_de_la_série/# où se trouve un répertoire par chapitre################################################################################# Vérification des arguments donnés au script ################################################################################## Test de la présence de l'argument cheminif[[ X1ドル= X ]]thenecho"Chemin vers le chapitre manquant"&&exit 1
else CHEMIN=1ドルfi# Test de la presence du cheminif[[ ! -d "${CHEMIN}"]]thenecho"Chemin inexistant"&&exit 1
fi################################################################################# Déclaration des fonctions ################################################################################## Test de la présence de zip
f_test_zip (){
which zip > /dev/null 2>&1
if[[$? != 0 ]]thenecho"L'utilitaire zip est introuvable. Merci de l'installer"&&exit 1
elseZIP="zip -9 -r -q"fi}# Test de la présence de ebook-convert
f_test_ebookconvert (){
which ebook-convert > /dev/null 2>&1
if[[$? != 0 ]]thenecho"L'utilitaire ebook-convert est introuvable. Merci d'installer calibre"&&exit 1
fi}# Récupération des métadonnées# Le sed goret au milieu permet de transformer les ' en ’ pour ne pas exploser la ligne de commande générée pour ebook-convert
f_metadatas (){if[[ -f "${CHEMIN}"/.chapt_meta ]]thenecho"Informations sur le volume déjà présentes"elseecho"Nom des auteurs"read AUTEURS
echo"Nom de l'album"read ALBUM
echo"Nom de la série"read SERIE
echo"AUTEURS="${AUTEURS}"" >> "${CHEMIN}"/.chapt_meta
echo"ALBUM="${ALBUM}"" >> "${CHEMIN}"/.chapt_meta
echo"SERIE="${SERIE}"" >> "${CHEMIN}"/.chapt_meta
sed -i -e 's/\x27/’/g'"${CHEMIN}"/.chapt_meta
fi}# Génération du fichier de traitement des chapitres.
f_chapitres (){echo"Génération de la liste des chapitres à traiter"cd"${CHEMIN}"
touch .chapt_old
find . -type d | sed -e '1d' -e 's/\.\///g' | sort > .chapt_all
diff -n .chapt_old .chapt_all | sed -e'1d' > .chapt_new
if[ ! -s .chapt_new ](http://fr.wikipedia.org/wiki/ ! -s .chapt_new "Définition Wikipédia")then echo"Pas de nouveaux chapitres à traiter"&&exit 0
fi}# Compression des répertoires de chapitres
f_compress (){echo"Compression du chapitre ${chapter}"${ZIP}"${chapter}".cbz "${chapter}";
if[[$? != 0 ]]then echo"Problème dans la compression du répertoire"&&exit 1
fiecho"${chapter}".cbz:"${chapter}" >> comics.txt
}# Création du .cbc
f_collection (){echo"Création de l'archive"${ZIP}`basename "${CHEMIN}"`.cbc comics.txt *.cbz
if[[$? != 0 ]]then echo"Problème dans la création de l'archive"&&exit 1
fi}# Création de l'ebook à partir des fichiers générés et des métadonnées
f_epubification (){echo"Création de l'ebook. Veuillez patienter"auteurs=`grep AUTEURS .chapt_meta | cut -d"=" -f2`album=`grep ALBUM .chapt_meta | cut -d"=" -f2`serie=`grep SERIE .chapt_meta | cut -d"=" -f2`
ebook-convert `basename "${CHEMIN}"`.cbc `basename "${CHEMIN}"`.epub --output-profile sony --keep-aspect-ratio --right2left --dont-grayscale --no-process --no-sort --no-default-epub-cover --authors \""${auteurs}"\" --series \""${serie}"\" --title \""${album}"\" > /dev/null 2>&1;
if[[$? != 0 ]]then echo"Problème dans la génération de l'epub"&&exit 1
fi}# Nettoyage des chapitres
f_nettoyage (){echo"Nettoyage des fichiers temporaires"
rm -f *.cbz *.cbc comics.txt
}################################################################################# Test de présence des outils nécessaires ################################################################################## Test de la présence de zip
f_test_zip
# Test de la présence de ebook-convert
f_test_ebookconvert
################################################################################# Traitements sur les fichiers #################################################################################echo"Début de la création de l'ebook"
f_metadatas
f_chapitres
while read chapter
do
f_compress
done < .chapt_new
f_collection
f_epubification
f_nettoyage
mv .chapt_all .chapt_old
echo"Votre ebook est créé"
[^] # Re: Amusant !
Posté par Fopossum . En réponse au journal Mini shell script pour optimiser des images pour une liseuse. Évalué à 4.
Et donc, je me réponds, et je vais avoir droit à la geekscotte :p
C'est sale, c'est pas fini, mais ça fait le taff :p
cd /pub && more beer