Pywikibot/add text.py

From Wikibooks, open books for an open world
Jump to: navigation, search
Bug blank.svg
Git repository of Wikimedia has this file:

This is a script which helps to add a text at the end of the page but above categories, interwiki and template for the stars of the interwiki (default setting), or add a text at the top of the page.

This needs Python with at least v2.4 (not v2.3).

Parameters[edit]

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

&params;

Furthermore, the following command line parameters are supported:

-page               Use a page as generator
-text               Define which text to add
-summary            Define the summary to use
-except             Use a regex to check if the text is already in the page *
-excepturl          Use the html page as text where you want to see if there's the text, not the wiki-page.
-newimages          Add text in the new images
-untagged           Add text in the images that don't have any license template
-always             If used, the bot won't ask if it should add the text specified
-up                 If used, put the text at the very top of the page *

Example[edit]

Adding a template to specific pages[edit]

It will add the text "{{Documentation subpage}}" at the very top of the pages with "Category:Template documentation". Pages which have the text "{{Documentation subpage}}" .

add_text.py -cat:template_documentation -text:"{{Documentation subpage}}" -except:"\{\{([Tt]emplate:|)[Dd]ocumentation [Ss]ubpage" -up

  • -cat:template_documentation : only target entries categorized in the page of "Category:Template documentation"
  • -text:"{{Documentation subpage}}" : add the template "{{Documentation subpage}}" (excluding the quotes)
  • -except:"\{\{([Tt]emplate:|)[Dd]ocumentation [Ss]ubpage" : regex commands to exclude entries which have this template already in the page
  • -up : Put the text at the top of the page instead

Another example:

python add_text.py -cat:catname -summary:"Bot: Adding a template" -text:"{{Something}}" -except:"\{\{([Tt]emplate:|)[Ss]omething" -up

Adding category to pages without any category[edit]

This is a real instance that is used on it.wikipedia to put the template in the page without any category.

python add_text.py -excepturl:"class='catlinks'>" -uncat -text:"{{Categorizzare}}" -except:"\{\{([Tt]emplate:|)[Cc]ategorizzare" -summary:"Bot: Aggiungo template Categorizzare"

Global arguments available for all bots

arg Description Default
-family:xyz Set the family of the wiki you want to work on, e.g. wikipedia, wiktionary, commons, wikitravel, …. This will override the configuration in user-config.py settings. user-config.py parameter: family
-lang:xx Set the language of the wiki you want to work on, overriding the configuration in user-config.py where xx should be the language code[1]. user-config.py parameter: mylang
-log Enable the logfile. Logs will be stored in the logs subdirectory. user-config.py parameter: log ?
-log:xyz Enable the logfile, using xyz as the filename.
-nolog Disable the logfile (if it's enabled by default).
-putthrottle:nn
-pt:nn
Set the minimum time (in seconds) the bot will wait between saving pages. user-config.py parameter: putthrottle ?
-verbose
-v
Make the program output more detailed messages than usual to the standard output about its current work, or progress, while it is proceeding. This may be helpful when debugging or dealing with unusual situations. not selected
  1. Commons uses 'commons' for lang and family; Meta uses 'meta' for both.