Manual:Pywikibot/delete.py

From MediaWiki.org
Jump to navigation Jump to search
Other languages: English  • русский
Git logo
Wikimedia Git repository has this file: scripts/delete.py

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

sysopnames['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.

Arguments[edit]

  • -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.

Usage output[edit]

Usage is reported thus;

Global arguments available for all bots:

-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.

-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.

-log              Enable the logfile. Logs will be stored in the logs
                  subdirectory.

-log:xyz          Enable the logfile, using xyz as the filename.

-nolog            Disable the logfile (if it is enabled by default).

-putthrottle:nn   Set the minimum time (in seconds) the bot will wait between
                  saving pages.


This script can be used to delete and undelete pages en masse.
Of course, you will need an admin account on the relevant wiki.

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

Command line options:

-page:       Delete specified page
-cat:        Delete all pages in the given category.
-links:      Delete all pages linked from a given page.
-file:       Delete all pages listed in a text file.
-ref:        Delete all pages referring from a given page.
-images:     Delete all images used on 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.
             Obviously makes sense only with -page and -file.

Examples[edit]

  • 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"