Manual:Pywikibot/revertbot.py
Wikimedia Git repository has this file: scripts/en |
revertbot.py is a Pywikibot script used to revert certain edits.
The script helps you clean up after your bot if it does undesirable things. It goes through your bot's list of contributions, from most recent to most ancient, and reverts the last revision your bot made on each page – provided, of course, that your bot made the most recent revision on the page.
It is therefore most effectively used immediately after you notice your bot has gone astray.
Usage
It is invoked by typing python pwb.py revertbot
.
It should almost certainly not be run unattended, as it does not ask for permission to make changes. Its default – and unalterable – mode is just to automatically make changes.
The following command line parameters are supported:
Parameter | Description |
---|---|
-username |
Edits of which user need to be reverted. Default is bot's username (site.username() ) |
-rollback |
Rollback edits instead of reverting them. Note that in rollback, no diff would be shown |
-limit:num |
Use the last num contributions to be checked for revert. The default is 500 |
Users who want to customize the behaviour should subclass the BaseRevertBot
and override its callback
method. Here is a sample:
class myRevertBot(BaseRevertBot):
'''Example revert bot.'''
def callback(self, item):
'''Sample callback function for 'private' revert bot.
@param item: an item from user contributions
@type item: dict
@rtype: bool
'''
if 'top' in item:
page = pywikibot.Page(self.site, item['title'])
text = page.get(get_redirect=True)
pattern = re.compile(r'\[\[.+?:.+?\..+?\]\]', re.UNICODE)
return bool(pattern.search(text))
return False
Global arguments available
This page is outdated. |
These options will override the configuration in user-config.py settings.
Parameter | Description | Config variable |
---|---|---|
-dir:PATH |
Read the bot's configuration data from directory given by PATH, instead of from the default directory. | |
-config:file |
The user config filename. Default is user-config.py. | user-config.py |
-lang:xx |
Set the language of the wiki you want to work on, overriding the configuration in user-config.py. xx should be the language code. | mylang |
-family:xyz |
Set the family of the wiki you want to work on, e.g. wikipedia, wiktionary, wikitravel, ... This will override the configuration in user-config.py. | family |
-user:xyz |
Log in as user 'xyz' instead of the default username. | usernames |
-daemonize:xyz |
Immediately return control to the terminal and redirect stdout and stderr to file xyz. (only use for bots that require no input from stdin). | |
-help |
Show the help text. | |
-log |
Enable the log file, using the default filename 'script_name-bot.log' Logs will be stored in the logs subdirectory. | log |
-log:xyz |
Enable the log file, using 'xyz' as the filename. | logfilename |
-nolog |
Disable the log file (if it is enabled by default). | |
-maxlag |
Sets a new maxlag parameter to a number of seconds. Defer bot edits during periods of database server lag. Default is set by config.py | maxlag |
-putthrottle:n -pt:n -put_throttle:n |
Set the minimum time (in seconds) the bot will wait between saving pages. | put_throttle |
-debug:item -debug |
Enable the log file and include extensive debugging data for component "item" (for all components if the second form is used). | debug_log |
-verbose -v |
Have the bot provide additional console output that may be useful in debugging. | verbose_output |
-cosmeticchanges -cc |
Toggles the cosmetic_changes setting made in config.py or user-config.py to its inverse and overrules it. All other settings and restrictions are untouched. | cosmetic_changes |
-simulate |
Disables writing to the server. Useful for testing and debugging of new code (if given, doesn't do any real changes, but only shows what would have been changed). | simulate |
-<config var>:n |
You may use all given numeric config variables as option and modify it with command line. |