Manual:Pywikibot/delete.py

This script can be used to delete and undelete pages en masse. You will need an admin account on the relevant wiki. Also add:

usernames['wikipedia']['en'] = 'adminname'

to user-config.py, where ['wikipedia'] is the name of the the family in which you are working on, and 'adminname' is the username.

Syntax:

$ python pwb.py delete [-cat:categoryName|-page:pageName|...] [-summary:"text"] [-undelete] [-always]

ArgumentsEdit

  • -page: Delete specified page
  • -ref: Delete all pages referring from a given page.
  • -images: Delete all images used on a given page.
  • -cat: Delete all pages in the given category.
  • -links: Delete all pages linked from a given page.
  • -always Don't prompt to delete pages, just do it.
  • -summary: Supply a custom edit summary.
  • -undelete: Actually undelete pages instead of deleting. Works only with -page and -file.
  • -file: Delete all pages listed in a given text file. The list should be of the format
    • # [[page1]]
    • # [[page2]]
    • etc.

ExamplesEdit

  • Delete everything in the category "To delete" without prompting.
$ python pwb.py delete -cat:"To delete" -always
  • Delete everything in the pages linked to the page, without prompting.
$ python pwb.py delete "deletepage" -always
  • Delete everything in the speedy deletion category on the English Wikibooks.
$ python pwb.py delete -lang:en -family:wikibooks -cat:"Candidates for speedy deletion"
  • Delete pages inside a text file:
$ python pwb.py delete -file:nuke.txt -always -summary:"Because I feel like it"

The format of the text file should be as the following:

# [[Main Page]]
# [[Talk:Main Page]]
  • Restore pages:
$ python pwb.py delete -undelete -file:respawn.txt -summary:"It was a foolish mistake"

Global arguments available

These options will override the configuration in user-config.py settings.

Global options
ParameterDescriptionConfig variable
-dir:PATH Read the bot's configuration data from directory given by PATH, instead of from the default directory.  
-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.