Utilisateur:Crochet.david.bot/Scripts

Une page de Wikiversité.

System-config-users.svg Nuvola gaim.svg Gnome-devel.svg Nuvola apps package editors.png Procman.svg Mail-message-new.svg Nuvola apps kgpg.png
Présentation Discussions Requêtes Scripts Statistiques Email 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        = '),
        ],
    },
 
}