Manual talk:Pywikibot/movepages.py

File
What format should a file take to be used by this program? --Aquatiki 11:01, 28 September 2008 (UTC)
 * You can use, where your file pairs.txt contains pairs of pages to move and their targets:
 * "PageToMove1 Target1     PageToMove2   Target2     PageToMove3   Target3   ..."
 * --Plasmarelais 18:22, 29 September 2009 (UTC)
 * I've developped a generator of this kind of file from a category. JackPotte 15:27, 24 January 2011 (UTC)

Arguments
This may be a n00bish question, but why isn't there a full list of the available arguments for this script on the page? To get this, I had to run the script with the -help switch, which gave the following:

This script can move pages.

These command line parameters can be used to specify which pages to work on:

-cat             Work on all pages which are in a specific category. Argument can also be given as "-cat:categoryname" or                 as "-cat:categoryname|fromtitle".

-catr            Like -cat, but also recursively includes pages in                  subcategories, sub-subcategories etc. of the given category. Argument can also be given as "-catr:categoryname" or                 as "-catr:categoryname|fromtitle".

-subcats         Work on all subcategories of a specific category. Argument can also be given as "-subcats:categoryname" or                 as "-subcats:categoryname|fromtitle".

-subcatsr        Like -subcats, but also includes sub-subcategories etc. of                  the given category. Argument can also be given as "-subcatsr:categoryname" or                 as "-subcatsr:categoryname|fromtitle".

-uncat           Work on all pages which are not categorised.

-uncatcat        Work on all categories which are not categorised.

-uncatfiles      Work on all files which are not categorised.

-file            Read a list of pages to treat from the named text file. Page titles in the file must be enclosed with brackets or separated by newlines. Argument can also be given as                 "-file:filename".

-filelinks       Work on all pages that use a certain image/media file. Argument can also be given as "-filelinks:filename".

-yahoo           Work on all pages that are found in a Yahoo search. Depends on python module pYsearch. See yahoo_appid in                 config.py for instructions.

-search          Work on all pages that are found in a MediaWiki search across all namespaces.

-google          Work on all pages that are found in a Google search. You need a Google Web API license key. Note that Google doesn't give out license keys anymore. See google_key in                 config.py for instructions. Argument can also be given as "-google:searchstring".

-namespace       Filters the page generator to only yield pages in the specified namespaces. Separate multiple namespace numbers with commas.

-interwiki       Work on the given page and all equivalent pages in other languages. This can, for example, be used to fight multi-site spamming. Attention: this will cause the bot to modify pages on several wiki sites, this is not well tested, so check your edits!

-links           Work on all pages that are linked from a certain page. Argument can also be given as "-links:linkingpagetitle".

-new             Work on the 60 newest pages. If given as -new:x, will work on the x newest pages.

-imagelinks      Work on all images that are linked from a certain page. Argument can also be given as "-imagelinks:linkingpagetitle".

-newimages       Work on the 100 newest images. If given as -newimages:x, will work on the x newest images.

-ref             Work on all pages that link to a certain page. Argument can also be given as "-ref:referredpagetitle".

-start           Specifies that the robot should go alphabetically through all pages on the home wiki, starting at the named page. Argument can also be given as "-start:pagetitle".

You can also include a namespace. For example, "-start:Template:!" will make the bot work on all pages in the template namespace.

-prefixindex     Work on pages commencing with a common prefix.

-titleregex      Work on titles that match the given regular expression.

-transcludes     Work on all pages that use a certain template. Argument can also be given as "-transcludes:Template:Title".

-unusedfiles     Work on all description pages of images/media files that are not used anywhere. Argument can be given as "-unusedfiles:n" where n is the maximum number of articles to work on.

-unwatched       Work on all articles that are not watched by anyone. Argument can be given as "-unwatched:n" where n is the maximum number of articles to work on.

-usercontribs    Work on all articles that were edited by a certain user : Example : -usercontribs:DumZiBoT

-weblink         Work on all articles that contain an external link to                  a given URL; may be given as "-weblink:url"

-withoutinterwiki Work on all pages that don't have interlanguage links. Argument can be given as "-withoutinterwiki:n" where n is some number (??).

-random          Work on random pages returned by Special:Random. Can also be given as "-random:n" where n is the number of pages to be returned, else 10 pages are returned.

-randomredirect  Work on random redirect target pages returned by                  Special:Randomredirect. Can also be given as                 "-randomredirect:n" where n is the number of pages to be                  returned, else 10 pages are returned.

-gorandom        Specifies that the robot should starting at the random pages returned by Special:Random.

-recentchanges   Work on new and edited pages returned by Special:Recentchanges. Can also be given as "-recentchanges:n" where n is the number of pages to be returned, else 100 pages are returned.

Furthermore, the following command line parameters are supported:

-from and -to    The page to move from and the page to move to.

-noredirect      Leave no redirect behind.

-prefix          Move pages by adding a namespace prefix to the names of the pages. (Will remove the old namespace prefix if any) Argument can also be given as "-prefix:namespace:".

-always          Don't prompt to make changes, just do them.

-skipredirects   Skip redirect pages (Warning: increases server load)

-summary         Prompt for a custom summary, bypassing the predefined message texts. Argument can also be given as "-summary:XYZ".

-pairs           Read pairs of file names from a file. The file must be in a format frompage topage frompage topage ... Argument can also be given as "-pairs:filename" Adamcox82 12:24, 14 November 2009 (UTC)

Examples
I expected the following line to work, but it doesn't: python movepages.py -file:articles_list.txt -lang:en -family:wikisource -titleregex -from:"Page:Whatsocialclasse00sumnrich\.djvu/([0-9]+)" -to:"Page:What Social Classes Owe to Each Other.djvu/$1" JackPotte 19:12, 4 January 2011 (UTC)