Utilisateur:Rabot

La bibliothèque libre.
Sauter à la navigation Sauter à la recherche

Snedker i arbejde.jpg Je suis le compte utilisé par Andre315 pour les opérations de ponçage automatique. J'utilise la suite pywikipedia.

Statut de Bot obtenu le 22 Février 2009.

opérations courantes[modifier]

passage en manchette de Livre:Bertrand - Mémoires historiques et physiques sur les tremblemens de terre.djvu[modifier]

sed -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[modifier]

import des pages du Livre:Aristophane[modifier]

Le 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[modifier]

Le 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.[modifier]

Le 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