Manual:Pywikibot/add text.py

From MediaWiki.org
Jump to: navigation, search
Supported in:
Pwb icon.svg Core Compat
Branch: View View

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) as stated on Manual:Pywikibot/Installation.

Parameters[edit]

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

-cat                Targets entries within a specific category
-page               Use a page as generator
-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".

Furthermore, the following command line parameters are supported:

-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 *

For more command line parameters, run the bot help command for example: python pwb.py add_text -help | more

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", except for those which already include it.

python pwb.py add_text -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)
    • To insert return code, use "\n". But, if you use "-up" option, it becomes invalid.
  • -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 pwb.py add_text -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, because if there are any hidden categories, the page will be defined as categorized.

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


Global arguments available for all bots

These options will override the configuration in user-config.pyManual:Pywikibot/user-config.py settings.

Parameter Description Config variable
-dir:PATH Read the bot's configuration data from directory given by PATH, instead of from the default directory.
-lang:xx Set the language of the wiki you want to work on, overriding the configuration in <tvar >user-config.py</>. <tvar
-family:xyz Set the family of the wiki you want to work on, e.g. wikipedia, wiktionary, wikitravel, ... This will override the configuration in <tvar >user-config.py</>.
-user:xyz Log in as user '<tvar >xyz</>' instead of the default username.
-daemonize:xyz Immediately return control to the terminal and redirect stdout and stderr to file <tvar >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<tvar >-bot.log</>' Logs will be stored in the logs subdirectory.
-log:xyz Enable the log file, using '<tvar >xyz</>' as the filename.
-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 <tvar >cosmetic_changes</> setting made in <tvar
-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.