Utility scripts¶
pwb wrapper script¶
Wrapper script to invoke pywikibot-based scripts.
Run scripts with pywikibot in directory mode using:
python pwb.py <pwb options> <name_of_script> <options>
This wrapper script uses the package directory to store all user files, will fix up search paths so the package does not need to be installed, etc.
Currently <pwb options>
are Global Options. This can be used
for tests to set the default site (see T216825):
python pwb.py -lang:de bot_tests -v
-
pwb.
check_modules
(script=None)[source]¶ Check whether mandatory modules are present.
This also checks Python version when importing deptendencies from setup.py
- Parameters
script (str or None) – The script name to be checked for dependencies
- Returns
True if all dependencies are installed
- Return type
bool
- Raises
RuntimeError – wrong Python version found in setup.py
-
pwb.
check_pwb_versions
(package)[source]¶ Validate package version and scripts version.
- Rules:
Pywikibot version must not be older than scrips version
Scripts version must not be older than previous Pyvikibot version due to deprecation policy
-
pwb.
find_alternates
(filename, script_paths)[source]¶ Search for similar filenames in the given script paths.
generate_family_file script¶
This script generates a family file from a given URL.
Usage:
generate_family_file.py [<url>] [<name>] [<dointerwiki>] [<verify>]
Parameters are optional. They must be given consecutively but may be omitted if there is no successor parameter. The parameters are:
<url>: an url from where the family settings are loaded
<name>: the family name without "_family.py" tail.
<dointerwiki>: predefined answer (y|n) to add multiple language
<verify>: disable certificate validaton `(y|n)
Example:
generate_family_file.py https://www.mywiki.bogus/wiki/Main_Page mywiki
This will create the file mywiki_family.py in pywikibot/families folder
-
class
generate_family_file.
FamilyFileGenerator
(url: Optional[str] = None, name: Optional[str] = None, dointerwiki: Optional[str] = None, verify: Optional[str] = None)[source]¶ Bases:
object
Family file creator object.
Parameters are optional. If not given the script asks for the values.
- Parameters
url – an url from where the family settings are loaded
name – the family name without “_family.py” tail.
dointerwiki – Predefined answer to add multiple language codes. Pass
Y
ory
for yesN
orn
for no andE
ore
if you want to edit the collection of sites.verify – If a certificate verification failes, you may pass
Y
ory
to disable certificate validatonN
orn
to keep it enabled.
generate_user_files script¶
Script to create user-config.py.
-
generate_user_files.
ask_for_dir_change
(force)[source]¶ Ask whether the base directory is has to be changed.
Only give option for directory change if user-config.py or user-password already exists in the directory. This will repeat if user-config.py also exists in the requested directory.
- Parameters
force (bool) – Skip asking for directory change
- Returns
whether user file or password file exists already
- Return type
tuple of bool
-
generate_user_files.
copy_sections
()[source]¶ Take config sections and copy them to user-config.py.
- Returns
config text of all selected sections.
- Return type
str
-
generate_user_files.
create_user_config
(main_family, main_code, main_username, force=False)[source]¶ Create a user-config.py in base_dir.
Create a user-password.py if necessary.
-
generate_user_files.
file_exists
(filename)[source]¶ Return whether the file exists and print a message if it exists.
-
generate_user_files.
get_site_and_lang
(default_family: Optional[str] = 'wikipedia', default_lang: Optional[str] = 'en', default_username: Optional[str] = None, force=False)[source]¶ Ask the user for the family, language and username.
- Parameters
default_family – The default family which should be chosen.
default_lang – The default language which should be chosen, if the family supports this language.
default_username – The default username which should be chosen.
- Returns
The family, language and username
- Return type
tuple of three str
-
generate_user_files.
main
(*args: tuple)[source]¶ Process command line arguments and generate user-config.
If args is an empty list, sys.argv is used.
- Parameters
args – command line arguments