Salut, quelques infos de codage :
- Il ne faut plus utiliser `` mais $()
- Il est fortement conseillé d'encadrer les variables de ${} pour eviter des erreurs d'interpretations
- Les `` servent à executer une commande afin de transmettre le resultat à une variable, tu les utilises inutilement regulierement ?!
`zenity --title "boomeranga!" --window-icon "/usr/share/pixmaps/boomeranga.svg" --question --text "$manga - Télécharger tous les chapitres disponibles ? [$chap_man paru(s) / $chapn nouveau(x)]"`
`zenity --title "boomeranga!" --window-icon "/usr/share/pixmaps/boomeranga.svg" --question --text "Poursuivre les séries en cours (si liste de suivi non vide) ?"`
Propositions de simplification :
let chapmax=chapmax+1
=>
((chapmax++))
wget http://www.lecture-en-ligne.com/$manga/1/0/0/1.html -O infochap
grep -A 1 'id="chap"' infochap > infochap2
head -2 infochap2 | tail -1 > infochap
cut -d ">" -f2 infochap | cut -d "<" -f1 > infochap2
chap_man=`cat $PWD/infochap2`
en
chap_man=$(wget -qO - http://www.lecture-en-ligne.com/${manga}/1/0/0/1.html | sed -n "/http:\/\/www.lecture-en-ligne.com\/${manga}\/6\/0\/0\/1.html/ s@[^>]*>\([0-9]*\).*@\1@p")
Pourquoi ne pas regrouper des fenetres :
`zenity --title "boomeranga!" --window-icon "/usr/share/pixmaps/boomeranga.svg" --question --text "$manga - Télécharger tous les chapitres disponibles ? [$chap_man paru(s) / $chapn nouveau(x)]"`
+
chapmax=`zenity --title "boomeranga!" --window-icon "/usr/share/pixmaps/boomeranga.svg" --cancel-label "Quitter" --entry --text "Stopper à quel chapitre ? [vous êtes au n°$chap]"` || exit
=>
zenity --forms --title "boomeranga" --cancel-label "Quitter" --add-entry "Chapitre minimum" --add-entry "Chapitre maximum" --window-icon "/usr/share/pixmaps/boomeranga.svg"
wget http://www.lecture-en-ligne.com/$manga/$chap/0/0/1.html -O info
grep 'current_total_pages' info > info2
cut -d "'" -f2 info2 > info3
imax=`cat $PWD/info3`
=>
imax=$(wget -qO - http://www.lecture-en-ligne.com/${manga}/${chap}/0/0/1.html | sed -n "/current_total_pages/ s/.*'\([0-9]*\)'.*/\1/p")
Pour la verif 404, il te suffit de verifier que la variable imax est vide et au pire retester avec :
if [[ $(wget -qO - http://www.lecture-en-ligne.com/${manga}/${chap}/0/0/1.html | grep -c 'ERREUR 404') ]]
ouha pourquoi faire simple quand on peut faire ca :p
#récupérer les images 1 à 7
while [ $im != 08 ]
do
wget http://www.lecture-en-ligne.com/images/mangas/$manga/$chap/$im.jpg
let im=im+1
im=0$im
done
#récupérer les images 8 & 9 (erreur boucle while pour 08, à corriger plus tard)
im=08
wget http://www.lecture-en-ligne.com/images/mangas/$manga/$chap/$im.jpg
im=09
wget http://www.lecture-en-ligne.com/images/mangas/$manga/$chap/$im.jpg
#récupérer les images suivantes - envisager chapitres courts !
im=10
while [ $im != $imaxi ]
do
wget http://www.lecture-en-ligne.com/images/mangas/$manga/$chap/$im.jpg
let im=im+1
done
=>
for im in $(seq -w ${imaxi})
do
wget http://www.lecture-en-ligne.com/images/mangas/$manga/$chap/$im.jpg
done
Qui marche pour des nombres de 1 chiffres, 2,3,4... (marche uniquement si petits chapitres n'a pas de 0 devant leur numero, mais toujours possible de faire tres simple)
grep $manga séries
if [ $? != 0 ]
then
echo $manga >> séries
fi
=>
[[ $(grep "${manga}" séries) ]] && echo $manga >> séries
j'ai pas suivit d'ou vient exactement nb_ligm, mais une boucle for sera surement plus adaptée
while [ $nb_lig != $nb_ligm ]
do
manga=`head -n $nb_lig séries | tail -n 1`
télécharger
let nb_lig=nb_lig+1
done
Je m’arrête la (la version fr), à toi de tester mes propositions, de les comprendre, de poser des questions si besoin...
Sinon l'idée est pas mal 🙂
J'aime l'idée de piquer des mangas à des mecs qui piquent des mangas à d'autres mecs :p
PS : je viens de tester le manga toriko, et il me dit erreur 404 car il n'y a pas de chapitre dispo, il faudrait ajoute rune verification afin de dire que le manga existe mais qu'il n'y a plus de chapitre dispo.
Si besoin look ma signature, mon generateur de fenetre zenity permet normalement d'utiliser toutes les options dispo de zenity.
Tu devrais mettre à jour le code du message 1 car si les gens s'arretent en le voyant, ils n'auront pas le bon.