Rabot
Je suis le compte utilisé par Andre315 pour les opérations de ponçage automatique. J'utilise la suite pywikipedia.
opérations courantes
modifierpassage en manchette de Livre:Bertrand - Mémoires historiques et physiques sur les tremblemens de terre.djvu
modifiersed -e 's/div class="pagetext" style="width:27em;"/div class="pagetext"/' ! manchette début -e 's/<div class="pagetext">/&{{Manchettes début|20|8}}/' -e 's/<\/div><\/noinclude>/{{Manchettes fin}}<\/div><\/noinclude>/' ! manchette fin -e 's/TexteADroite/manchette droite/' ! manchette droite -e 's/5|6/7/' -e s'/\([A-Z]\){{sc|/{{sc|\1/' ! majuscule -> modèle sc
script utilisés
modifierimport des pages du Livre:Aristophane
modifierLe pdf est recupéré sur Gallica et transformé en djvu. Au passage les pages subissent un ocr avec le logiciel tesseract v2.01 pour créer un fichier texte Aristophane - Théâtre complet Talbot 1897 Tome 1.txt. Le début des pages est marqué par page### (ce choix n'est pas le plus judicieux : page ### serait mieux).
- Commande pour la première partie :
sed -e "s/page\([0-9][0-9]*\)/mark \1/" Aristophane\ -\ Théâtre\ complet\ Talbot\ 1897\ Tome\ 1.txt | awk '{if ($1=="mark") x=$2; if (x>=114) {if ($1=="mark") print "mark"x; else print $0}; if (x==255) exit}' | sed -e '$d' -e "s/mark\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Aristophane I, \1.jpg'''/" | sed -e '1d' -e '$i\yyyy' -e '$d'
- Commande pour la fin du premier tome :
sed -e "s/page\([0-9][0-9]*\)/mark \1/" Aristophane\ -\ Théâtre\ complet\ Talbot\ 1897\ Tome\ 1.txt | awk '{if ($1=="mark") x=$2; if (x>=291) {if ($1=="mark") print "mark"x; else print $0}}' | sed -e '$d' -e "s/mark\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Aristophane I, \1.jpg'''/" | sed -e '1d' -e '$i\yyyy' -e '$d'
- Commande pour le second tome :
sed -e "s/page\([0-9][0-9]*\)/mark \1/" Aristophane\ -\ Théâtre\ complet\ Talbot\ 1897\ Tome\ 2.txt | awk '{if ($1=="mark") x=$2; if (x>=15) {if (x<=102&&$1=="mark") print "mark0"x-3; else if (x>102&&$1=="mark") {print "mark"x-3} else print $0}}' | sed -e '$d' -e "s/mark\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Aristophane II, \1.jpg'''/" | sed -e '1d' -e '$i\yyyy' -e '$d'
import des pages du Livre:Abelard Heloise Cousin - Lettres I.djvu
modifierLe contenu de Discuter:Lettres_d’Abélard_et_d’Héloïse est copié dans le fichier abelard.txt. Une ligne contenant ===p=== est ajouté au début du fichier. La fin du fichier est aussi nettoyé.
- commande pour le premier tome :
awk '{if ($1=="===p===") x++; if (x>80) {if ($1=="===p===") print "mark"67+x; else print $0}; if (x==217) exit}' abelard.txt | sed -e '$d' -e "s/mark\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Abelard Heloise Cousin - Lettres I.djvu\/\1'''/" | sed -e'1d' -e '$i\yyyy' -e '$d' > toto
- commande pour le second tome :
awk '{if ($1=="===p===") x++; if (x>216) {if ($1=="===p===") print "mark"x-216; else print $0}}' abelard.txt | sed -e '$d' -e "s/mark\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Abelard Heloise Cousin - Lettres II.djvu\/\1'''/" | sed -e'1d' -e '$i\yyyy' -e '$d' > toto
import des pages du Livre:Lamarck - Discours (1806).djvu
modifier#! /bin/sh touch /tmp/lam.txt for ((i=1;i<=51;i+=1)); do echo xxxx >> /tmp/lam.txt echo \'\'\'Page:Lamarck - Discours \(1806\).djvu/$i\'\'\' >> /tmp/lam.txt wget "http://www.lamarck.cnrs.fr/ ice/ice_page_detail.php?lang=fr&type=text&bdd=lamarck&table=ouvrages_lamarck &typeofbookDes=Discours&bookId=53&title=&pageChapter=DISCOURS%20D'OUVERTUREdu%20COURS %20DES%20ANIMAUX%20SANS%20VERT%C8BRES&pageOrder=$i&facsimile=off&search=no&num=0&nav=1" -O /tmp/toto dos2unix /tmp/toto sed -e '1,/class=\"texte/ d' -e'/\/td/,$ d' < /tmp/toto > /tmp/toto.txt sed -e 's/<pre>//' -e 's/<\/pre>//' -e 's/<center>//' -e 's/<\/center>//' -e 's/<strong>//' -e 's/<\/strong>//' -e '/^$/d' -e 's/<font class\=\"note\">//' -e 's/<\/font>//' < /tmp/toto.txt | tr -d '\011' > /tmp/toto sed -e '/^$/d'< /tmp/toto | tr '^M' '\n' >> /tmp/lam.txt echo yyyy >> /tmp/lam.txt done
Le fichier lam.txt est ensuite, avec gedit, passé en UTF, les apostrophes et quelques caractères non standard changés, les balises font enlevées. Le fichier lam.txt est ensuite chargé avec le module pagefromfile de pywikipedia :
python pagefromfile.py -start:xxxx -end:yyyy -notitle -summary:"discours de lamarck" -file:/tmp/lam.txt
import des pages du Livre:Lamarck - Philosophie zoologique 2.djvu.
modifierLe fichier ocr est copié-collé dans le fichier fileinput (une petite correction est apportée, le tag p90 étant manquant).
sed -e "s/p\([0-9][0-9]*\)/yyyy\nxxxx\n'''Page:Lamarck - Philosophie zoologique 2.djvu\/\1\/mark\/'''/" < essai | awk -F "/" '{if ($3=="mark") print $1"/"$2+4$4; else print $0}' | sed -e '/^$/d' > /tmp/zool.txt
Dans le fichier zool.txt, avec gedit, la première ligne contenant yyyy est déplacée en fin de fichier. Les apostrophes et les oe sont remplacés. Le fichier est ensuite chargé avec le module pagefromfile de pywikipedia :
python pagefromfile.py -start:xxxx -end:yyyy -notitle -summary:"projet du mois" -file:/tmp/zool.txt
type sed (remplacement)
modifier#! /bin/sh -f /bin/rm /tmp/toto touch /tmp/toto for ((i=100;i<=110;i+=1)); do echo xxxx >> /tmp/toto echo \'\'\'Page:Bertrand MHP $i.png\'\'\' >> /tmp/toto python get.py Page:Bertrand MHP $i.png | sed -e s/\'/’/g | sed -e s/’’’/\'\'\'/g | sed -e s/’’/\'\'/g >> /tmp/toto echo yyyy >> /tmp/toto done python pagefromfile.py -force -notitle -start:xxxx -end:yyyy -file:/tmp/toto -summary:"remplacement automatique apostrophe"
type if grep (établi une liste sur critère)
modifier#! /bin/bash -f for ((i=100;i<=200;i+=1)); do python get.py Page:Bertrand MHP $i.png | if grep -q \<i\> then echo Page:Bertrand MHP $i.png fi done