Manual:Pywikibot/add text.py
Wikimedia Git repository has this file: scripts/add_text.py |
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.
ParametersEdit
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 * -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
ExampleEdit
Adding a template to specific pagesEdit
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 categoryEdit
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}}" -except:"\{\{([Tt]emplate:|)[Cc]ategorizzare" -summary:"Bot: Aggiungo template Categorizzare"
Global arguments available
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. | - |
‑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. | - |