Utilisateur:Crochet.david.bot/Scripts
Une page de Wikiversité.
| Présentation | Discussions | Requêtes | Scripts | Statistiques | Dresseur |
[modifier] Script
#!/bin/sh function charge_et_decompresse { wget http://download.wikimedia.org/${1}wikiversity/latest/${1}wikiversity-latest-pages-articles.xml.bz2 mv ${1}wikiversity-latest-pages-articles.xml.bz2 ${1}-wikiversity-latest-pages-articles.xml.bz2 echo "Mise à jour de la langue $1" echo "décompression de l'archive de la langue $1" bunzip2 -v $1-wikiversity-latest-pages-articles.xml.bz2 } function decharge { echo "suppression de l'xml de la langue $1" rm -v $1-wikiversity-latest-pages-articles.xml sleep 2 } function aide { echo "Éxecute un robot en utilisant certain script" echo echo "Les arguments possibles sont :" echo " syntaxechapitre " echo " syntaxelecon " echo " wikilien " echo " automatique " echo " encodage " echo " cosmetic " echo " help" exit 0 } if [ $# = 0 ] || [ $1 = help ] ; then { aide } fi if [ $1 = "automatique" ] ; then for isolang in cs de el en es fi fr it ja pt ; do for namespace in User Wikiversity Template Help Category ; do python interwiki.py -start:"${namespace}:" -lang:$isolang -skipfile:"file.skip" done done fi if [ $1 = "syntaxechapitre" ] || [ $1 = "syntaxelecon" ] ; then { isolang='fr' charge_et_decompresse $isolang echo "execution de remplace.py pour la langue $isolang" python replace.py -fix:$1 -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml decharge $isolang } fi if [ $1 = "cosmetic" ] ; then { isolang='fr' #charge_et_decompresse $isolang echo "execution de cosmetic_change.py pour la langue $isolang" python cosmetic_changes.py -lang:$isolang -start:! #decharge $isolang } fi if [ $1 = "encodage" ] || [ $1 = "wikilien" ] ; then { for isolang in cs de el en es fi fr it ja pt ; do charge_et_decompresse $isolang echo "execution de remplace.py pour la langue $isolang" python replace.py -fix:$1 -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml if [ $1 = "wikilien" ] ; then { python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml "[[:$isolang:" "[[" python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml -regex "\[\[(n|q|wikt|w|s|b):$isolang:" "[[\1:" python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml -regex ":..:$isolang:" ":" python replace.py -lang:$isolang -xml:$isolang-wikiversity-latest-pages-articles.xml ":$isolang:" ":" } fi decharge $isolang done } fi exit 0
[modifier] User_fixes.py
# -*- coding: utf-8 -*-
fixes = {
'encodage': {
'regex': False,
'nocase': False,
'msg': {
'fr': u'Robot : Correction des encodages de caractère',
'en': u'Bot : Correction of character encodings',
'de': u'Bot : Korrektur der Kodierung von Zeichen',
},
'replacements': [
(u'%2B', u'+'),
(u'%C3%84', u'Ä'),
(u'%C3%85', u'Å'),
(u'%C3%89', u'É'),
(u'%C3%8D', u'Í'),
(u'%C3%96', u'Ö'),
(u'%C3%9C', u'Ü'),
(u'%C3%9F', u'ß'),
(u'%C3%A0', u'à'),
(u'%C3%A1', u'á'),
(u'%C3%A3', u'ã'),
(u'%C3%A4', u'ä'),
(u'%C3%A7', u'ç'),
(u'%C3%A8', u'è'),
(u'%C3%A9', u'é'),
(u'%C3%AD', u'í'),
(u'%C3%AE', u'ï'),
(u'%C3%B1', u'ñ'),
(u'%C3%B3', u'ó'),
(u'%C3%B6', u'ö'),
(u'%C3%BA', u'ú'),
(u'%C3%BC', u'ü'),
(u'%C3%BD', u'ý'),
(u'%C4%88', u'Ĉ'),
(u'%C4%8D', u'č'),
(u'%C4%9B', u'ě'),
(u'%C4%9D', u'ĝ'),
(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'ž'),
(u'α', u'α'),
(u'Α', u'Α'),
(u'β', u'β'),
(u'Β', u'Β'),
(u'γ', u'γ'),
(u'Γ', u'Γ'),
(u'δ', u'δ'),
(u'Δ', u'Δ'),
(u'ε', u'ε'),
(u'Ε', u'Ε'),
(u'ζ', u'ζ'),
(u'Ζ', u'Ζ'),
(u'η', u'η'),
(u'Η', u'Η'),
(u'θ', u'θ'),
(u'Θ', u'Θ'),
(u'ι', u'ι'),
(u'Ι', u'I'),
(u'κ', u'κ'),
(u'Κ', u'Κ'),
(u'λ', u'λ'),
(u'Λ', u'Λ'),
(u'μ', u'μ'),
(u'Μ', u'Μ'),
(u'ν', u'ν'),
(u'Ν', u'Ν'),
(u'ξ', u'ξ'),
(u'Ξ', u'Ξ'),
(u'ο', u'ο'),
(u'Ο', u'Ο'),
(u'π', u'π'),
(u'Π', u'Π'),
(u'ρ', u'ρ'),
(u'Ρ', u'Ρ'),
(u'Ψ', u'Ψ'),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
# (u'', u''),
],
},
'wikilien': {
'regex': True,
'msg': {
'fr': u'Robot : Correction et amélioration des liens wiki',
'en': u'Robot: Correcting and improving links wiki',
'de': u'Roboter: Korrektur und Verbesserung der Verbindungen Wiki',
},
'replacements': [
(r'\[http://(..).wikiversity.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[:\1:\2|\3]]'),
(r'\[http://(..).wikiversity.org/wiki/(\S+)\s?\]', r'[[:\1:\2]]'),
(r'\[http://(..).wikipedia.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[w:\1:\2|\3]]'),
(r'\[http://(..).wikipedia.org/wiki/(\S+)\s?\]', r'[[w:\1:\2]]'),
(r'\[http://(..).wikibooks.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[b:\1:\2|\3]]'),
(r'\[http://(..).wikibooks.org/wiki/(\S+)\s?\]', r'[[b:\1:\2]]'),
(r'\[http://(..).wikisource.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[s:\1:\2|\3]]'),
(r'\[http://(..).wikisource.org/wiki/(\S+)\s?\]', r'[[s:\1:\2]]'),
(r'\[http://(..).wikiquote.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[q:\1:\2|\3]]'),
(r'\[http://(..).wikiquote.org/wiki/(\S+)\s?\]', r'[[q:\1:\2]]'),
(r'\[http://(..).wikinews.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[n:\1:\2|\3]]'),
(r'\[http://(..).wikinews.org/wiki/(\S+)\s?\]', r'[[n:\1:\2]]'),
(r'\[http://(..).wiktionary.org/wiki/([^\s\]]+)\s([^\]]+)\]', r'[[wikt:\1:\2|\3]]'),
(r'\[http://(..).wiktionary.org/wiki/(\S+)\s?\]', r'[[wikt:\1:\2]]'),
(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://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'),
],
'exceptions': {
'inside-tags': [
'nowiki',
'comment',
'math',
'source',
'pre',
],
}
},
'syntaxechapitre': {
'regex': True,
'msg': {
'fr': u'Robot : Correction syntaxique des boites de chapitre',
},
'replacements': [
(r' *\| ?titre *= ?([^\|]+)\s?', r' | titre = \1'),
# (r' *\| ?titre_leçon *= ?([^\|]+)', r' | titre_leçon = \1'),
(r' *\| ?idfaculté *= ?([^\|]+)\s?', r' | idfaculté = \1'),
(r' *\| ?leçon *= ?([^\|]+)\s?', r' | leçon = \1'),
(r' *\| ?numéro *= ?([^\|]+)\s?', r' | numero = \1'),
(r' *\| ?précédent *= ?([^\|]+)\s?', r' | précédent = \1'),
(r' *\| ?suivant *= ?([^\|]+)\s?', r' | suivant = \1'),
(r' *\| ?niveau *= ?([^\|]+)\s?', r' | niveau = \1'),
(r'\{\{[tT]héorème ?\| ?titre ?= ?([^\|])', r'{{Théorème\n | titre = \1\n'),
],
},
'syntaxelecon': {
'regex': True,
'msg': {
'fr': u'Robot : Correction syntaxique des boites de leçon',
},
'replacements': [
(r' *\| ?département *= ?', r' | département = '),
(r' *\| ?idfaculté *= ?', r' | idfaculté = '),
(r' *\| ?([1-9]) *= ?', r' | \1 = '),
(r' *\| ?([1-9][1-9]) *= ?', r' | \1 = '),
(r' *\| ?niveau *= ?', r' | niveau = '),
(r' *\| ?exo([1-9] *=', r' | exo\1 = '),
],
},
}