Jump to content

Manual:Pywikibot/templatecount.py

From mediawiki.org

templatecount.py is a Pywikibot script used to display the list of pages transcluding a given list of templates.

It can also be used to simply count the number of pages (rather than listing each individually).

Syntax: python pwb.py templatecount [options] <templates>

Command line options:

ParameterDescription
-count Counts the number of times each template (passed in as an argument) is transcluded.
-list Gives the list of all of the pages transcluding the templates (rather than just counting them).
-namespace: Filters the search to a given namespace. If this is specified multiple times it will search all given namespaces.

Examples

[edit]

Imagine you wanted to find out how often the templates {{Reflist }}, {{Quote }} and {{Tl }} were used on your wiki, across all namespaces. You didn't care about where they were used, just how many times. You'd then type:

$ python pwb.py templatecount -count reflist quote tl

Counts how many times {{Ref }} and {{Note }} are transcluded in articles:

$ python pwb.py templatecount -count -namespace:0 ref note

Lists all the category pages that transclude {{Cfd }} and {{Cfdu }}:

$ python pwb.py templatecount -list -namespace:14 cfd cfdu


Global arguments available

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

Global options
Parameter Description Config variable
-dir:PATH Read the bot's configuration data from directory given by PATH, instead of from the default directory.  
-config:file The user config filename. Default is user-config.py. user-config.py
-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.