« Utilisateur:Crochet.david.bot/Scripts » : différence entre les versions

Contenu supprimé Contenu ajouté
mise à jour
Ligne 4 :
<source lang="bash">
#!/bin/bash
VERT="\\033[1;32m"
NORMAL="\\033[0;39m"
ROUGE="\\033[1;31m"
ROSE="\\033[1;35m"
BLEU="\\033[1;34m"
BLANC="\\033[0;02m"
BLANCLAIR="\\033[1;08m"
JAUNE="\\033[1;33m"
CYAN="\\033[1;36m"
 
function charge_et_decompresse {
wget --progress=dot:binary http://download.wikimedia.org/${1}wikiversity/latest/${1}wikiversity-latest-pages-articles.xml.bz2
mv -v ${1}wikiversity-latest-pages-articles.xml.bz2 ${1}-wikiversity-latest-pages-articles.xml.bz2
echo -e $JAUNE "Mise à jour de la langue $1" $NORAML
echo -e $JAUNE "décompression de l'archive de la langue $1" $NORMAL
bunzip2 -v $1-wikiversity-latest-pages-articles.xml.bz2
}
 
function decharge {
echo -e $VERT "suppression de l'xml de la langue $1" $NORMAL
rm -v $1-wikiversity-latest-pages-articles.xml
sleep 2
}
 
Ligne 22 ⟶ 30 :
fairelangue
for isolang in $existlang ; do
for namespace in Useruser Wikiversitycategory Templatetemplate Helphelp Categorywikiversity 0 100 102 104; do
python interwiki.py -start:"${namespace}:" -lang:$isolang -skipfile:"file.skip"
done
Ligne 31 ⟶ 39 :
isolang='fr'
charge_et_decompresse $isolang
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
python replace.py -fix:syntaxechapitre -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml
decharge $isolang
Ligne 39 ⟶ 47 :
isolang='fr'
charge_et_decompresse $isolang
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
python replace.py -fix:syntaxelecon -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml
decharge $isolang
Ligne 45 ⟶ 53 :
 
function cosmetic {
fairelangue
for isolang in $existlang ; do
echo "execution de cosmetic_change.py pour la langue $isolang"
python cosmetic_changes.py -lang:$isolang -start:!
done
}
 
Ligne 54 ⟶ 64 :
for isolang in $existlang ; do
charge_et_decompresse $isolang
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
python replace.py -fix:encodage -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml
decharge $isolang
done
}
 
function encodagemanu {
echo -e $ROSE "nom de la page AVEC son lien langue ?" $NORMAL
read page
python replace.py -fix:encodage -page:"$page"
}
 
Ligne 64 ⟶ 80 :
for isolang in $existlang ; do
charge_et_decompresse $isolang
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
python replace.py -fix:wikilien -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml
python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml "[[:$isolang:" "[["
Ligne 74 ⟶ 90 :
done
}
 
function wikilienmanu {
echo -e $ROSE "nom de la page SANS son lien langue ?" $NORMAL
read page
echo -e $ROSE "code langue ?" $NORMAL
read isolang
python replace.py -fix:wikilien -page:"$page" -lang:"$isolang"
python replace.py -page:"$page" -lang:"$isolang" "[[:$isolang:" "[["
python replace.py -page:"$page" -lang:"$isolang" -regex "\[\[(n|q|wikt|w|s|b):$isolang:" "[[\1:"
python replace.py -page:"$page" -lang:"$isolang" -regex ":..:$isolang:" ":"
python replace.py -page:"$page" -lang:"$isolang" ":$isolang:" ":"
python replace.py -page:"$page" -lang:"$isolang" -regex "\[\[:(n|q|wikt|w|s|b):" "[[\1:"
}
 
 
function fairelangue {
echo -e $ROSE "Sur quel langue exécuter le programme parmi ?" $NORMAL
echo -e $BLEU "cs de el en es fi fr it ja pt ru" $NORMAL
echo -e $CYAN "all pour toutes" $NORMAL
read langue
if [ $langue = 'all' ] ;
Ligne 90 ⟶ 120 :
function typoauto {
isolang="fr"
# charge_et_decompresse $isolang
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
bash typo-fr.sh
i=1
decharge $isolang
while read aLine
}
do
 
# $text[$i]=$aLine
function interwikimanu {
echo ${aLine#*find=}
python interwiki.py
echo ${debututile%replace=*}
}
echo ${aLine%replace=}
 
# echo "python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml $debut $fin"
function tabletowiki {
sleep 1
echo -e $ROSE "nom de la page avec son lien langue ?" $NORMAL
done < traitement.txt
read page
# decharge $isolang
python table2wiki.py $page
}
 
function typomanu {
fairelangue
isolang="fr"
for isolang in $existlang ; do
charge_et_decompresse $isolang
echo "execution de remplace.py pour la langue charge_et_decompresse $isolang"
echo -e $ROUGE "execution de remplace.py pour la langue $isolang" $NORMAL
while true
echo "Utilisation du regex [N] [y] ?"
do
read useregex
echo "regex du texte avant"
readwhile avanttrue
do
if [ $avant = "FiN" ]
echo "regex du texte avant. Taper 'FiN' pour arrêter ce sous programme"
then break
read avant
else
if [ $avant = 'FiN' ] ;
echo "regex du texte après"
readthen apresbreak
else
python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml -regex "$avant" "$apres"
echo "regex du texte après"
fi
read apres
done
if [ $useregex = 'y' ] ;
decharge $isolang
then
python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml -regex "$avant" "$apres"
else
python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml "$avant" "$apres"
fi
fi
done
decharge $isolang
done
}
 
 
while true
Ligne 130 ⟶ 171 :
echo
echo "Les arguments possibles sont :"
echo " 1 : syntaxechapitre "
echo " 2 : syntaxelecon "
echo " 3 : wikilien : Transforme les wikiliens ou lien internet de façon correct"
echo " 4 : automatique : Effectue une vérification des liens interwiki"
echo " 5 : encodage : Transforme les code étendu en code UTF-8"
echo " 6 : cosmetic "
echo " 7 : mise à jour de pywikipediabot "
echo " 8 : correction suivant règle de typographie manuel"
echo " 9 : correction suivant règle de typographie automatique avec le fichier typo-fr.sh"
echo " 10 : interwiki manuel "
echo " 11 : encodage manuel "
echo " 12 : table -> wiki"
echo " 13 : correction des wikilien en manuel"
echo " 0 : fin"
read clavier
Ligne 149 ⟶ 195 :
7) svn up ;;
8) typomanu ;;
9) typoauto ;;
10) interwikimanu ;;
11) encodagemanu ;;
12) tabletowiki ;;
13) wikilienmanu ;;
0) exit 0 ;;
esac
sleep 51
done
</source>
Ligne 176 ⟶ 227 :
},
'replacements': [
(u'%2B', u'+'),
(u'&#34;', u'"'),
(u'&#38;', u'&'),
(u'&#047;', u'/'),
(u'&#60;', u'<'),
(u'&#62;', u'>'),
(u'&#124;', u'|'),
(u'&#131;', u'ƒ'),
(u'&#132;', u'„'),
(u'&#133;', u'…'),
(u'&#134;', u'†'),
(u'&#135;', u'‡'),
(u'&#136;', u'ˆ'),
(u'&#137;', u'‰'),
(u'&#138;', u'Š'),
(u'&#139;', u'‹'),
(u'&#140;', u'Œ'),
(u'&#145;', u'‘'),
(u'&#146;', u'’'),
(u'&#147;', u'“'),
(u'&#148;', u'”'),
(u'&#149;', u'•'),
(u'&#150;', u'–'),
(u'&#151;', u'—'),
(u'&#152;', u'˜'),
(u'&#153;', u'™'),
(u'&#154;', u'š'),
(u'&#155;', u'›'),
(u'&#156;', u'œ'),
(u'&#159;', u'Ÿ'),
(u'&#161;', u'¡'),
(u'&#162;', u'¢'),
(u'&#163;', u'£'),
(u'&#164;', u'¤'),
(u'&#165;', u'¥'),
(u'&#166;', u'¦'),
(u'&#167;', u'§'),
(u'&#168;', u'¨'),
(u'&#169;', u'©'),
(u'&#170;', u'ª'),
(u'&#171;', u'«'),
(u'&#172;', u'¬'),
(u'&#173;', u'­'),
(u'&#174;', u'®'),
(u'&#175;', u'¯'),
(u'&#176;', u'°'),
(u'&#177;', u'±'),
(u'&#178;', u'²'),
(u'&#179;', u'³'),
(u'&#180;', u'´'),
(u'&#181;', u'µ'),
(u'&#182;', u'¶'),
(u'&#183;', u'·'),
(u'&#184;', u'¸'),
(u'&#185;', u'¹'),
(u'&#186;', u'º'),
(u'&#187;', u'»'),
(u'&#188;', u'¼'),
(u'&#189;', u'½'),
(u'&#190;', u'¾'),
(u'&#191;', u'¿'),
(u'&#192;', u'À'),
(u'&#193;', u'Á'),
(u'&#194;', u'Â'),
(u'&#195;', u'Ã'),
(u'&#196;', u'Ä'),
(u'&#197;', u'Å'),
(u'&#198;', u'Æ'),
(u'&#199;', u'Ç'),
(u'&#200;', u'È'),
(u'&#201;', u'É'),
(u'&#202;', u'Ê'),
(u'&#203;', u'Ë'),
(u'&#204;', u'Ì'),
(u'&#205;', u'Í'),
(u'&#206;', u'Î'),
(u'&#207;', u'Ï'),
(u'&#208;', u'Ð'),
(u'&#209;', u'Ñ'),
(u'&#210;', u'Ò'),
(u'&#211;', u'Ó'),
(u'&#212;', u'Ô'),
(u'&#213;', u'Õ'),
(u'&#214;', u'Ö'),
(u'&#215;', u'×'),
(u'&#216;', u'Ø'),
(u'&#217;', u'Ù'),
(u'&#218;', u'Ú'),
(u'&#219;', u'Û'),
(u'&#220;', u'Ü'),
(u'&#221;', u'Ý'),
(u'&#222;', u'Þ'),
(u'&#223;', u'ß'),
(u'&#224;', u'à'),
(u'&#225;', u'á'),
(u'&#226;', u'â'),
(u'&#227;', u'ã'),
(u'&#228;', u'ä'),
(u'&#229;', u'å'),
(u'&#230;', u'æ'),
(u'&#231;', u'ç'),
(u'&#232;', u'è'),
(u'&#233;', u'é'),
(u'&#234;', u'ê'),
(u'&#235;', u'ë'),
(u'&#236;', u'ì'),
(u'&#237;', u'í'),
(u'&#238;', u'î'),
(u'&#239;', u'ï'),
(u'&#240;', u'ð'),
(u'&#241;', u'ñ'),
(u'&#242;', u'ò'),
(u'&#243;', u'ó'),
(u'&#244;', u'ô'),
(u'&#245;', u'õ'),
(u'&#246;', u'ö'),
(u'&#247;', u'÷'),
(u'&#248;', u'ø'),
(u'&#249;', u'ù'),
(u'&#250;', u'ú'),
(u'&#251;', u'û'),
(u'&#252;', u'ü'),
(u'&#253;', u'ý'),
(u'&#254;', u'þ'),
(u'&#255;', u'ÿ'),
 
# Caractères latins accentués
(u'%C3%84', u'Ä'),
Ligne 206 ⟶ 382 :
(u'%C5%82', u'ł'),
(u'%C5%99', u'ř'),
(u'%C5%A0', u'Š'),
(u'%C5%A1', u'š'),
(u'%C5%A5', u'ť'),
(u'%C5%AF', u'ů'),
(u'%C5%BE', u'ž'),
# Caractères cyrilliques
(u'%D0%A1', u'С'),
(u'%D0%B0', u'а'),
(u'%D0%B2', u'в'),
(u'%D0%B4', u'д'),
(u'%D0%B5', u'е'),
(u'%D0%B8', u'и'),
(u'%D0%BA', u'к'),
(u'%D0%BB', u'л'),
(u'%D0%BD', u'н'),
(u'%D0%BE', u'о'),
(u'%D0%BF', u'п'),
(u'%D1%81', u'с'),
(u'%D1%82', u'т'),
(u'%D1%83', u'у'),
(u'%D1%85', u'х'),
(u'%D1%8B', u'ы'),
(u'%D1%91', u'ё'),
#caractères japonais
(u'&#x3042;', u'あ'),
Ligne 218 ⟶ 412 :
(u'&#x304a;', u'お'),
(u'&#x304b;', u'か'),
(u'&#x304c;', u'が'),
(u'&#x304d;', u'き'),
(u'&#x304e;', u'ぎ'),
(u'&#x304f;', u'く'),
(u'&#x3050;', u'ぐ'),
(u'&#x3051;', u'け'),
(u'&#x3052;', u'げ'),
(u'&#x3053;', u'こ'),
(u'&#x3054;', u'ご'),
(u'&#x3055;', u'さ'),
(u'&#x3056;', u'ざ'),
(u'&#x3057;', u'し'),
(u'&#x3058;', u'じ'),
(u'&#x3059;', u'す'),
(u'&#x305a;', u'ず'),
(u'&#x305b;', u'せ'),
(u'&#x305c;', u'ぜ'),
(u'&#x305d;', u'そ'),
(u'&#x305e;', u'ぞ'),
#caractères grecs
(u'&#x305f;', u'た'),
(u'&#x3060;', u'だ'),
(u'&#x3061;', u'ち'),
(u'&#x3062;', u'ぢ'),
(u'&#x3064;', u'つ'),
(u'&#x3065;', u'づ'),
(u'&#x3066;', u'て'),
(u'&#x3067;', u'で'),
(u'&#x3068;', u'と'),
(u'&#x3069;', u'ど'),
(u'&#x306a;', u'な'),
(u'&#x306b;', u'に'),
(u'&#x306c;', u'ぬ'),
(u'&#x306d;', u'ね'),
(u'&#x306e;', u'の'),
(u'&#x306f;', u'は'),
(u'&#x3070;', u'ば'),
(u'&#x3071;', u'ぱ'),
(u'&#x3072;', u'ひ'),
(u'&#x3073;', u'び'),
(u'&#x3074;', u'ぴ'),
(u'&#x3075;', u'ふ'),
(u'&#x3076;', u'ぶ'),
(u'&#x3077;', u'ぷ'),
(u'&#x3078;', u'へ'),
(u'&#x3079;', u'べ'),
(u'&#x307a;', u'ぺ'),
(u'&#x307b;', u'ほ'),
(u'&#x307c;', u'ぼ'),
(u'&#x307d;', u'ぽ'),
(u'&#x307e;', u'ま'),
(u'&#x307f;', u'み'),
(u'&#x3080;', u'む'),
(u'&#x3081;', u'め'),
(u'&#x3082;', u'も'),
(u'&#x3084;', u'や'),
(u'&#x3086;', u'ゆ'),
(u'&#x3088;', u'よ'),
(u'&#x3089;', u'ら'),
(u'&#x308a;', u'り'),
(u'&#x308b;', u'る'),
(u'&#x308c;', u'れ'),
(u'&#x308d;', u'ろ'),
(u'&#x308f;', u'わ'),
(u'&#x3090;', u'ゐ'),
(u'&#x3091;', u'ゑ'),
(u'&#x3092;', u'を'),
(u'&#x3093;', u'ん'),
(u'&#x3094;', u'ゔ'),
#Entités HTML : lettres grecques
(u'&alpha;', u'α'),
(u'&Alpha;', u'Α'),
Ligne 263 ⟶ 516 :
(u'&zeta;', u'ζ'),
(u'&Zeta;', u'Ζ'),
# #Entités HTML : autres caractères
(u'&Ccedil;', u'Ç'),
(u'&ccedil;', u'ç'),
#Symboles
(u'&iexclAacute;', u'¡Á'),
(u'&centaacute;', u'¢á'),
(u'&poundAcirc;', u'£Â'),
(u'&currenacirc;', u'¤â'),
(u'&yenacute;', u'¥´'),
(u'&AElig;', u'Æ'),
(u'&aelig;', u'æ'),
(u'&agrave;', u'à'),
(u'&Agrave;', u'À'),
(u'&amp;', u'&'),
(u'&Aring;', u'Å'),
(u'&aring;', u'å'),
(u'&Atilde;', u'Ã'),
(u'&atilde;', u'ã'),
(u'&Auml;', u'Ä'),
(u'&auml;', u'ä'),
(u'&brvbar;', u'¦'),
(u'&sectbull;', u'§'),
(u'&umlCcedil;', u'¨Ç'),
(u'&ccedil;', u'ç'),
(u'&cedil;', u'¸'),
(u'&cent;', u'¢'),
(u'&copy;', u'©'),
(u'&ordfcurren;', u'ª¤'),
(u'&laquo;', u'«'),
(u'&not;', u'¬'),
(u'&reg;', u'®'),
(u'&deg;', u'°'),
(u'&plusmndivide;', u'±÷'),
(u'&sup2Eacute;', u'²É'),
(u'&sup3eacute;', u'³é'),
(u'&acuteEcirc;', u'´Ê'),
(u'&ecirc;', u'ê'),
(u'&Egrave;', u'È'),
(u'&egrave;', u'è'),
(u'&ETH;', u'Ð'),
(u'&eth;', u'ð'),
(u'&Euml;', u'Ë'),
(u'&euml;', u'ë'),
(u'&frac12;', u'½'),
(u'&frac14;', u'¼'),
(u'&frac34;', u'¾'),
(u'&frac34;', u'¾'),
# (u'&ge;', u''),
(u'&gt;', u'>'),
(u'&Iacute;', u'Í'),
(u'&iacute;', u'í'),
(u'&Icirc;', u'Î'),
(u'&icirc;', u'î'),
(u'&iexcl;', u'¡'),
(u'&Igrave;', u'Ì'),
(u'&igrave;', u'ì'),
(u'&iquest;', u'¿'),
(u'&Iuml;', u'Ï'),
(u'&iuml;', u'ï'),
(u'&laquo;', u'«'),
# (u'&le;', u''),
(u'&lt;', u'<'),
(u'&micro;', u'µ'),
(u'&para;', u'¶'),
(u'&middot;', u'·'),
# (u'&cedilminus;', u'¸'),
(u'&sup1not;', u'¹¬'),
(u'&Ntilde;', u'Ñ'),
(u'&ntilde;', u'ñ'),
(u'&Oacute;', u'Ó'),
(u'&oacute;', u'ó'),
(u'&ocirc;', u'ô'),
(u'&OElig;', u'Œ'),
(u'&oelig;', u'œ'),
(u'&Ograve;', u'Ò'),
(u'&ograve;', u'ò'),
(u'&ordf;', u'ª'),
(u'&ordm;', u'º'),
(u'&Oslash;', u'Ø'),
(u'&oslash;', u'ø'),
(u'&Otilde;', u'Õ'),
(u'&otilde;', u'õ'),
(u'&Ouml;', u'Ö'),
(u'&ouml;', u'ö'),
(u'&para;', u'¶'),
(u'&plusmn;', u'±'),
(u'&pound;', u'£'),
(u'&quot;', u'"'),
(u'&raquo;', u'»'),
(u'&frac14reg;', u'¼®'),
(u'&frac12sect;', u'½§'),
(u'&frac34sup1;', u'¾¹'),
(u'&iquestsup2;', u'¿²'),
(u'&dividesup3;', u'÷³'),
(u'&szlig;', u'ß'),
(u'&THORN;', u'Þ'),
(u'&thorn;', u'þ'),
(u'&tilde;', u'˜'),
(u'&times;', u'×'),
(u'&trade;', u'™'),
(u'&uacute;', u'ú'),
(u'&Ucirc;', u'Û'),
(u'&ucirc;', u'û'),
(u'&Ugrave;', u'Ù'),
(u'&ugrave;', u'ù'),
(u'&uml;', u'¨'),
(u'&Uuml;', u'Ü'),
(u'&uuml;', u'ü'),
(u'&Yacute;', u'Ý'),
(u'&yacute;', u'ý'),
(u'&yen;', u'¥'),
(u'&yuml;', u'ÿ'),
# (u'', u''),
],
Ligne 322 ⟶ 652 :
(r'\[http://meta.wikimedia.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[meta:\1|\2]]'),
(r'\[http://meta.wikimedia.org/wiki/(\S+)\s?\]', r'[[meta:\1]]'),
(r'\[http://www.mediawiki.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[mw:\1|\2]]'),
(r'\[http://www.mediawiki.org/wiki/(\S+)\s?\]', r'[[mw:\1]]'),
(r'\[http://commons.wikimedia.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[commons:\1|\2]]'),
(r'\[http://commons.wikimedia.org/wiki/(\S+)\s?\]', r'[[commons:\1]]'),
(r'\[http://wikimediafoundation.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[Foundation:\1|\2]]'),
(r'\[http://wikimediafoundation.org/wiki/(\S+)\s?\]', r'[[Foundation:\1]]'),
(r'\[http://upload.wikimedia.org/(.*[^\]]+)\/([^\/\s]+)\s([^\]]+)\]', r'[[media:\2|\3]]'),
(r'\[http://upload.wikimedia.org/(.*[^\]]+)\/([^\/\s]+)\]', r'[[media:\2]]'),
(r'\[\[[Ww]ikipedia:([^\]]+)\]\]', r'[[w:en:\1]]'),
(r'\[\[[Ww]ikisource:([^\]]+)\]\]', r'[[s:en:\1]]'),
(r'\[\[[Ww]ikibooks:([^\]]+)\]\]', r'[[b:en:\1]]'),
(r'\[\[[Ww]ikinews:([^\]]+)\]\]', r'[[n:en:\1]]'),
(r'\[\[[Ww]ikiquote:([^\]]+)\]\]', r'[[q:en:\1]]'),
(r'\[\[[Ww]iktionary:([^\]]+)\]\]', r'[[wikt:en:\1]]'),
(r'\[http://(..).wikiversity.org/w/index.php\?title=([^\s\?\&]+)\s([^\]]+)\]', r'[[:\1:\2|\3]]'),
],
'exceptions': {
Ligne 379 ⟶ 712 :
],
},
 
}
</source>