Jump to content

Manual:Pywikibot/newitem.py

From mediawiki.org

newitem.py is a Pywikibot script used to mass create new items on Wikidata based on certain criteria.

  • When was the (Wikipedia) page created?
  • When was the last edit on the page?
  • Does the page contain interwikis?

Concept

New articles get created all the time on Wikipedia. With this script you can create new items connected to these articles. The bot looks at the age of the page and the last edit to the article. If both exceed the minimum threshold, the new item will be created. The default thresholds is 21 days for article creation and 7 days since last edit.

Syntax

The bot expects a generator :

$ python pwb.py newitem <some generator>

You can modify the thresholds. This is the number of days. For example minimum age of 7 days and not edited for 2 days:

$ python pwb.py newitem -pageage:7 -lastedit:2 <some generator>

This script understands various command-line arguments:


ParameterDescription
-lastedit The minimum number of days that has passed since the page was last edited
-pageage The minimum number of days that has passed since the page was created
-touch Do a null edit on every page which has a wikibase item. Be careful, this option can trigger edit rates or captchas if your account is not autoconfirmed


Global arguments available

These options will override the configuration in user-config.py settings.

Global options
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.