Manual:Pywikibot/category.py

Syntax
The syntax is:

python pwb.py category action [-option]

where action can be one of these:

* add         - mass-add a category to a list of pages * remove      - remove category tag from all pages in a category * move        - move all pages in a category to another category * tidy        - tidy up a category by moving its articles into subcategories * tree        - show a tree of subcategories of a given category * listify     - make a list of all of the articles that are in a category

and option can be one of these:

Options for "add" action:

* -person     - sort persons by their last name * -create     - If a page doesn't exist, do not skip it, create it instead * -redirect   - Follow redirects

If action is "add", the following options are supported:

Options for "listify" action:

* -overwrite  - This overwrites the current page with the list even if something is already there. * -showimages - This displays images rather than linking them in the list. * -talkpages  - This outputs the links to talk pages of the pages to be listified in addition to the pages themselves.

Options for "remove" action:

* -nodelsum   - This specifies not to use the custom edit summary as the deletion reason. Instead, it uses the default deletion reason for the language, which is "Category was disbanded" in English.

Options for "move" action:

* -hist       - Creates a nice wikitable on the talk page of target category that contains detailed page history of the source category. * -nodelete   - Don't delete the old category after move * -nowb       - Don't update the wikibase repository * -allowsplit - If that option is not set, it only moves the talk and main page together. * -mvtogether - Only move the pages/subcategories of a category, if the target page (and talk page, if -allowsplit is not set) doesn't exist. * -keepsortkey - Use sortKey of the old category also for the new category. If not specified, sortKey is removed. An alternative method to keep sortKey is to use -inplace option.

Options for "<tvar|1>tidy</>" action:

* -namespaces   Filter the articles in the specified namespaces. Separate multiple namespace numbers or names with commas. -namespace    Examples: -ns           -ns:0,2,4 -ns:Help,MediaWiki

Options for several actions:

* -rebuild    - reset the database * -from:      - The category to move from (for the <tvar|1>move</> option) Also, the category to remove from in the <tvar|1>remove</> option Also, the category to make a list of in the <tvar|1>listify</> option * -to:        - The category to move to (for the <tvar|1>move</> option) - Also, the name of the list to make in the <tvar|1>listify</> option NOTE: If the category names have spaces in them you may need to use a special syntax in your shell so that the names aren't treated as separate parameters. For instance, in BASH, use single quotes, e.g. -from:'Polar bears' * -batch      - Don't prompt to delete emptied categories (do it automatically). * -summary:   - Pick a custom edit summary for the bot. * -inplace    - Use this flag to change categories in place rather than rearranging them. * -recurse    - Recurse through all subcategories of categories. * -pagesonly  - While removing pages from a category, keep the subpage links and do not remove them * -match      - Only work on pages whose titles match the given regex (for move and remove actions). * -depth:     - The max depth limit beyond which no subcategories will be listed.

For the actions tidy and tree, the bot will store the category structure locally in <tvar|1> </>. This saves time and server load, but if it uses these data later, they may be outdated; use the <tvar|1> </> parameter in this case. For example, to create a new category from a list of persons, type:

python pwb.py category add -person

and follow the on-screen instructions.

Or to do it all from the command-line, use the following syntax:

python pwb.py category move -from:US -to:"United States"

This will move all pages in the category <tvar|1>US</> to the category <tvar|2>United States</>.