Manual:Pywikibot/add text.py
Wikimedia Git repository has this file: scripts/en |
Pywikibot scripts |
---|
|
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.7 as stated on Manual:Pywikibot/Installation .
Parameters
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 |
-talkpage | Put the text onto the talk page instead |
-summary | Define the summary to use |
-except | Use a regex to check if the text is already in the page **DEPRECATED IN 6.3.0 - Use "-grepnot" instead** |
-excepturl | Use the html page as text where you want to see if there's the text, not the wiki-page. |
-create | Create the page if necessary. Note that talk pages are created already without of this option. |
-createonly | Only create the page but do not edit existing ones |
-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 * |
-noreorder | Disable reordering of categories |
For more command line parameters, run the bot help command for example:
python pwb.py add_text -help | more
Example
Adding a template to specific pages
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}}" -grepnot:"\{\{([Tt]emplate:|)(\s|)[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.
- To insert return code, use "
-grepnot:"\{\{([Tt]emplate:|)(\s|)[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}}" -grepnot:"\{\{([Tt]emplate:|)(\s|)[Ss]omething" -up
Adding category to pages without any category
This is a real instance that is used on Wikipedia to put a template on a 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}}" -grepnot:"\{\{([Tt]emplate:|)[Cc]ategorizzare" -summary:"Bot: Aggiungo template Categorizzare"
Global arguments available
This page is outdated. |
These options will override the configuration in 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. | |
-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. |