Manual:Pywikibot/user-config.py/ru

Конфигурация

Перед запуском любой из программ необходимо создать файл с именем user-config.py в каталоге pywikibot. Вы создаете его одним из двух способов:

  1. Вручную Для этого нужно, чтобы хотя бы две или три переменные были настроены и размещены в правильном месте.
  2. Запустите скрипт generate_user_files.py, введя python pwb.py generate_user_files.py в командной консоли, которая будет интерактивно генерировать файл в стиле "Мастера", и сохраните его в папке конфигурации по умолчанию.

Location

Pywikibot ищет user-config в следующих местах, по порядку:

  • Указан с помощью аргумента -dir: (например: -dir:/foo/bar)
  • Содержание переменной среды PYWIKIBOT_DIR
  • Текущий каталог
  • Каталог, в котором находится файл pwb.py
  • Каталог Pywikibot в папке данных приложений (Windows) или домашний каталог (этот каталог создаётся автоматически)

(См. также: get_base_dir().)

Ниже приведены инструкции по ручному редактированию этого файла.

Для Проектов Викимедиа

Откройте текстовый редактор (например, блокнот в Windows) и сохраните текстовый файл как user-config.py в папке pywikibot .

Если ваш язык использует символы, не не входящие в ASCII, вы должны использовать редактор, который совместен с Unicode, например Notepad++ и сохранить пользовательскую конфигурацию с кодировкой Unicode без знаков BOM. Не забудьте вставить

# -*- coding: utf-8 -*-

как первая строка.

Добавьте следующие строки к user-config.py:

Код Объяснение
family = 'wikipedia'
mylang = 'en'

xx это код языка на котором вы работаете, на пример 'en' это английский.[1] Family - это название проекта.[2]

usernames['wikipedia']['en'] = 'ExampleBot'

В вашем файле user-config.py нужно указать имя пользователя бота.

В этом примере пользователь работает на Английской Википедии и создал аккаунт бота с именем пользователя "ExampleBot". [3]

(Optional)

authenticate['*.wikipedia.org'] = ('<consumer_key>','<consumer_secret>', '<access_key>', '<access_secret>')

This replaces password-based authentication with OAuth, which is more secure (especially for bots with shared ownership). See Pywikibot/OAuth on how to obtain the keys/secrets.

(Optional)

usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikipedia']['en'] = 'ExampleBot'
usernames['wiktionary']['de'] = 'BeispielBot'

If you are working on more than one Wikimedia project, you can also add several usernames.

(Optional, and rarely needed)

console_encoding = 'utf-8'
textfile_encoding = 'unicode_escape'

If this is the encoding used by your system. Always try without first.

(Optional)

sort_ignore_case = True

Some scripts may use this for sorting, e.g. solve_disambiguation.py. Default is False. Capitalized titles will preceed uncapitalized ones if this key is False or omitted, and capitalization will be disregarded by sorting if True.

(Optional)

password_file = "user-password.py"

Define a password file. The lines of the file should be tuples in any of the following formats:

(code, family, username, password)
(family, username, password)
(username, password)

For BotPasswords, refer to Pywikibot/BotPasswords.

(Optional)
user_agent_description = "Description <contact@email.com>"
A free-form string that can be user to describe specific bot/tool, provide contact information, etc.

Now save user-config.py again.

user-config.py examples

EksempelBot on no.wikipedia

mylang = 'no'
usernames['wikipedia']['no'] = 'EksempelBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Commons

mylang = 'commons'
family = 'commons'
usernames['commons']['commons'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Wikidata

mylang = 'wikidata'
family = 'wikidata'
usernames['wikidata']['wikidata'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Test wiki

mylang = 'test'
family = 'test'
usernames['test']['test'] = 'ExampleBot'

ExampleBot on Test2 wiki

mylang = 'test2'
family = 'wikipedia'
usernames['wikipedia']['test2'] = 'ExampleBot'

BeispielBot on de.wikipedia and de.wikibooks, with de.wikipedia as main wiki

mylang = 'de'
usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikibooks']['de'] = 'BeispielBot'

console_encoding = 'utf-8'
use_api_login = True

For non-Wikimedia wikis

См. также

  • config.py (the source code of the module that loads and interpretes user-config.py)


Notes

  1. Если вы хотите работать с не одним языком, выберите наиболее распространенный. Вы можете переопределить это в командной строке, используя параметр -lang:zh.
  2. Meta uses 'meta' for both language code and wiki family, Commons uses 'commons' for both, and Testwiki uses 'test' for both, the multilingual wikisource uses '-' for the language. Вы можете переопределить это в командной строке, используя -family:wikibooks.
  3. Обратите внимание, что на Linux/Unix хостах имеет значение регистр букв имени пользователя! Хотя вход может не быть проблемой, тестирование входа или попытка использования бота без правильного файла cookie могут привести к анонимному доступу к API. Это может вызвать проблемы для приватных вики, которые не позволяют анонимного доступа или используют стороннюю аутентификацию. Default usernames for mediawiki and those pulled via LDAP or other third party authentication schemes will have an uppercase character for the first letter, thus 'user' becomes 'User'.
Если вам нужна дополнительная помощь по настройке Pywikibot, зайдите на #pywikibot IRC-канал подключиться или список рассылки pywikibot@.
Category:Pywikibot configuration files/ru#config
Category:Pywikibot configuration files/ru