Manual:Pywikibot/add text.py/en

From Linux Web Expert


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.
-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.
  • -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"


<translate> Global arguments available</translate>

<translate> These options will override the configuration in <tvar|1>user-config.py </> settings. </translate>

<translate> Global options</translate>
<translate> Parameter</translate> <translate> Description</translate> <translate> Config variable</translate>
-dir:<translate> PATH</translate> <translate> Read the bot's configuration data from directory given by PATH, instead of from the default directory.</translate>  
-config:<translate> file</translate> <translate> The user config filename.</translate> Default is user-config.py. user-config.py
-configfile>user-config.py</>. <tvar xx>xx</> should be the language code.</translate> mylang
-configfile>user-config.py</>.</translate> <translate> Set the family of the wiki you want to work on, e.g. wikipedia, wiktionary, wikitravel, ...</translate> <translate> This will override the configuration in <tvar family
-xyz>xyz</>' instead of the default username.</translate> <translate> Log in as user '<tvar usernames
-xyz>xyz</>. (only use for bots that require no input from stdin).</translate> <translate> Immediately return control to the terminal and redirect stdout and stderr to file <tvar  
-help <translate> Show the help text.</translate>  
-1>-bot.log</>' Logs will be stored in the logs subdirectory.</translate> <translate> Enable the log file, using the default filename 'script_name<tvar log
-xyz>xyz</>' as the filename.</translate> <translate> Enable the log file, using '<tvar logfilename
-nolog <translate> Disable the log file (if it is enabled by default).</translate>  
-1>config.py</></translate> <translate> Sets a new maxlag parameter to a number of seconds.</translate> <translate> Defer bot edits during periods of database server lag. Default is set by <tvar maxlag
-putthrottle:n
-pt:n
-put_throttle:n
<translate> Set the minimum time (in seconds) the bot will wait between saving pages.</translate> put_throttle
-debug:item
-debug
<translate> Enable the log file and include extensive debugging data for component "item" (for all components if the second form is used).</translate> debug_log
-verbose
-v
<translate> Have the bot provide additional console output that may be useful in debugging.</translate> verbose_output
-cosmetic>cosmetic_changes</> setting made in <tvar
-cc
config>config.py</> or <tvar cosmetic_changes
-simulate <translate> Disables writing to the server.</translate> <translate> Useful for testing and debugging of new code (if given, doesn't do any real changes, but only shows what would have been changed).</translate> simulate
-<<translate> config var</translate>>:n <translate> You may use all given numeric config variables as option and modify it with command line.</translate>