Non editing scripts#

listpages script#

Print a list of pages, as defined by page generator parameters

Optionally, it also prints page content to STDOUT or save it to a file in the current directory.

These parameters are supported to specify which pages titles to print:

-format

Defines the output format.

Can be a custom string according to python string.format() notation or can be selected by a number from following list (1 is default format):

1 - ‘{num:4d} {page.title}’

–> 10 PageTitle

2 - ‘{num:4d} [[{page.title}]]’

–> 10 [[PageTitle]]

3 - ‘{page.title}’

–> PageTitle

4 - ‘[[{page.title}]]’

–> [[PageTitle]]

5 - ‘{num:4d} <<lightred>>{page.loc_title:<40}<<default>>’

–> 10 localised_Namespace:PageTitle (colorised in lightred)

6 - ‘{num:4d} {page.loc_title:<40} {page.can_title:<40}’
–> 10 localised_Namespace:PageTitle

canonical_Namespace:PageTitle

7 - ‘{num:4d} {page.loc_title:<40} {page.trs_title:<40}’
–> 10 localised_Namespace:PageTitle

outputlang_Namespace:PageTitle

(*) requires “outputlang:lang” set.

num is the sequential number of the listed page.

An empty format is equal to -notitle and just shows the total amount of pages.

-outputlang

Language for translation of namespaces.

-notitle

Page title is not printed.

-get

Page content is printed.

-tofile

Save Page titles to a single file. File name can be set with -tofile:filename or -tofile:dir_name/filename.

-save

Save Page content to a file named as page.title(as_filename=True). Directory can be set with -save:dir_name. If no dir is specified, current directory will be used.

-encode

File encoding can be specified with ‘-encode:name’ (name must be a valid python encoding: utf-8, etc.). If not specified, it defaults to config.textfile_encoding.

-put:

(str) Save the list to the defined page of the wiki. By default it does not overwrite an existing page.

-overwrite

Overwrite the page if it exists. Can only by applied with -put.

-summary:

(str) The summary text when the page is written. If it’s one word just containing letters, dashes and underscores it uses that as a translation key.

Custom format can be applied to the following items extrapolated from a page object:

site

Obtained from page._link._site.

title

Obtained from page._link._title.

loc_title

Obtained from page._link.canonical_title().

can_title

Obtained from page._link.ns_title(). Based either the canonical namespace name or on the namespace name in the language specified by the -trans param; a default value ****** will be used if no ns is found.

onsite

Obtained from pywikibot.Site(outputlang, self.site.family).

trs_title

Obtained from page._link.ns_title(onsite=onsite). If selected, format requires trs_title, -outputlang must be set.

This script supports use of pagegenerators arguments.

touch script#

This bot goes over multiple pages of a wiki, and edits them without changes

This is for example used to get category links in templates working.

Command-line arguments:

-purge

Purge the page instead of touching it

Touch mode (default):

-botflag

Force botflag in case of edits with changes.

Purge mode:

-converttitles

Convert titles to other variants if necessary

-forcelinkupdate

Update the links tables

-forcerecursivelinkupdate

Update the links table, and update the links tables for any page that uses this page as a template

-redirects

Automatically resolve redirects

This script supports use of pagegenerators arguments.