Manual:Pywikibot/replace.py/fr

Replace.py fait partie du framework Pywikipedia bot.

Ce bot remplace du texte. Il permet de récupérer des informations sur les pages qui nécessitent des modifications, soit à partir d'un dump XML, d'un fichier texte ou seulement changer une page. Pour obtenir d'avantage d'informations, utiliser replace.py python-help

Fichiers
Ce bot utilise trois fichiers en plus du framework:
 * replace.py : le module principal
 * fixes.py : une hiérarchie prédéfinie à quelques «corrections»
 * user-fixes.py : un fichier permettant d'ajouter ses propres correctifs. Le fichier est créé avec un exemple par generate_user_files.py

Les fichiers qui peuvent être utilisés pour l'entrée et/ou de sortie:
 * filename.txt : un fichier avec une liste d'articles s'il est spécifié avec le paramètre "-file"
 * filename.xml : a local XML dump if used with parameter "-xml"
 * replacelog : the log with a name that may be specified with parameter "-log"

Local
You can run replace.py with the following parameters (for example, ).

Exemples
If you want to change templates from the old syntax, e.g., to the new syntax, e.g., download an XML dump file (page table) from http://download.wikimedia.org, then use this command:

python replace.py -xml -regex "" ""

Note that the you can match patterns across more than one line:

python replace.py -regex -start:! "First line\nSecond line" ""

Replace.py can be used to insert or append text to a page (note the replacement text has an embedded new line):

python replace.py -regex '(?ms)^(.*)$' "\1   > "

If you have a dump called foobar.xml and want to fix typos, e.g. Errror -> Error, use this:

python replace.py -xml:foobar.xml "Errror" "Error"

If you have a page called 'John Doe' and want to convert HTML tags to wiki syntax, use: python replace.py -page:John_Doe -fix:HTML

If you run the bot without arguments you will be prompted multiple times for replacements:

python replace.py -file:blah.txt

The script asks the user before modifying an article. It is recommended to double-check the result to be sure that the bot did not introduce errors (especially with misspelled words). It is possible to specify a set of articles with an external text file containing Wiki links :

plane vehicle train car

The bot is then called using something like :

python replace.py [global-arguments] -file:articles_list.txt "errror" "error"

Rather than specifying regular expressions at the command line, it's preferable to add them to user-fixes.py

python replace.py -file:articles_list.txt -fix:example2

Exemples: Remplacements de plusieurs paragraphe
The original text of the page Sandbox is: This page is for any tests.

Welcome to the sandbox!

If you want to switch the statement (the second one goes before the first one), you type the following syntax: <pre style="overflow:auto">replace.py -page:Meta:Sandbox -regex "This page is for any tests.\r\n\r\nWelcome to the sandbox!" "Welcome to the sandbox!\n\nThis page is for any tests."

To add a new line we use.

Liens externes

 * The Python Standard Library » Regular expression operations
 * Kodos - The Python Regular Expression Debugger - to test regular expressions specifically for python
 * Regular-Expression.Info - introduction and comparison of various regex implementations, including python
 * Convertisseur Unicode vers HTML (indispensable pour créer articles_list.txt)