Module pywikipedia.replace
This bot will make direct text replacements. It will retrieve information on
which pages might need changes either from an SQL dump or a text file, or only
change a single page.
You can run the bot with the following commandline parameters:
-sql - Retrieve information from a local SQL dump (cur table, see
http://download.wikimedia.org).
Argument can also be given as "-sql:filename".
-file - Work on all pages given in a local text file.
Will read any [[wiki link]] and use these articles.
Argument can also be given as "-file:filename".
-cat - Work on all pages which are in a specific category.
Argument can also be given as "-cat:categoryname".
-page - Only edit a single page.
Argument can also be given as "-page:pagename". You can give this
parameter multiple times to edit multiple pages.
-start - Work on all pages in the wiki, starting at a given page. Choose
"-start:!" to start at the beginning.
NOTE: You are advised to use -sql instead of this option; this is
meant for cases where there is no recent SQL-dump.
-regex - Make replacements using regular expressions. If this argument
isn't given, the bot will make simple text replacements.
-except:XYZ - Ignore pages which contain XYZ. If the -regex argument is given,
XYZ will be regarded as a regular expression.
-fix:XYZ - Perform one of the predefined replacements tasks, which are given
in the dictionary 'fixes' defined inside this file.
The -regex argument and given replacements will be ignored if
you use -fix.
Currently available predefined fixes are:
* HTML - convert HTML tags to wiki syntax, and fix XHTML
-namespace:n - Namespace to process. Works only with a sql dump
-always - Don't prompt you for each replacement
other: - First argument is the old text, second argument is the new text.
If the -regex argument is given, the first argument will be
regarded as a regular expression, and the second argument might
contain expressions like \1 or \g<name>.
NOTE: Only use either -sql or -file or -page, but don't mix them.
Examples:
If you want to change templates from the old syntax, e.g. {{msg:Stub}}, to the
new syntax, e.g. {{Stub}}, download an SQL dump file (cur table) from
http://download.wikimedia.org, then use this command:
python replace.py -sql -regex "{{msg:(.*?)}}" "{{\1}}"
If you have a dump called foobar.sql and want to fix typos, e.g.
Errror -> Error, use this:
python replace.py -sql:foobar.sql "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
- Imported modules:
-
pywikipedia.config
,
pywikipedia.pagegenerators
,
re
,
sys
,
pywikipedia.wikipedia
- Imported variables:
-
fixes
,
generators
,
msg