Manual:Pywikibot/Compat/Basic use/ru

Интерфейс (библиотека) pywikipedia представляет собой набор скриптов для ботов на языке Python. Эта страница содержит необходимую информацию для участников, желающих создавать и использовать ботов на этом языке.

Установка

 * Для Windows: установите последнюю версию Python 2.x, как минимум 2.4 ( 3.x версии не подходят, на 2.3 будет работать лишь часть скриптов )
 * Для Mac и Unix: Python заранее установлен на Mac OS X и некоторые версии Unix (но могут требоваться обновления, если установлена слишком старая версия)

Скачивание библиотеки
Последняя версия библиотеки pywikipedia (обновляется ежедневно в 20:00 UTC) может быть скачена с Тулсервера, после скачивания требуется лишь распаковать архив (установка не требуется).

Скачивание с помощью SVN
Вы можете пользоваться SVN (subversion.tigris.org) для установки последней версии Pywikipedia. Пользователям Windows рекомендуется использовать TortoiseSVN, установка SVN на Mac осуществляется согласно этим инструкциям.

Конфигурация
Перед запуском необходимо создать файл user-config.py в директории, куда установлена библиотека (например, pywikipedia). Он может быть создан вручную (см. ниже) или же автоматически: для этого введите python generate_user_files.py в командную строку и нажмите ENTER (запустится соответствующий скрипт).

Для Википедии
Создайте файл с помощью текстового редактора (в Windows — Блокнот), сохраните как  в директории pywikipedia и добавьте в него следующие две строки:

Для других проектов Викимедиа
Добавьте вышеуказанные две строки, в строке "usernames" вместо "wikipedia" укажите название вашего проекта. Также добавьте строку:

Для проектов, не относящихся к Викимедиа
Некоторые другие проекты (Анархопедия, Betawiki и др.) также поддерживаются pywikipedia, их полный список можно найти в директории. Если вашего проекта там нет, создайте свой файл family (см. Pywikipedia bot on non-Wikimedia projects).

Разрешение на использование бота
Перед использованием бота необходимо получить разрешение сообщества. Создайте для него отдельный аккаунт и подайте заявку на статус бота. Бюрократы выдадут боту специальный флаг, и его правки не будут засорять список свежих правок.

Запуск бота

 * Windows: из меню "Пуск" откройте "Запуск программы", введите "Cmd.exe". Из командной строки откройте диск C с помощью команды "chdir C:\", затем той же командой откройте нужную папку (например: chdir \"pywikipedia").
 * Mac: найдите файл "Terminal.app" в директории "/Applications/Utilities"
 * Unix (в том числе Linux):

Введите "Python login.py" (для Windows — просто "login.py"), запустив соответствующий скрипт. Программа выдаст:

''' Password for user your_bot on your_site:en: '''

Введите пароль от учётной записи бота (бот не может работать анонимно), после входа можете запускать скрипты.

Скрипты
<!--===Command-line arguments=== Although many bot scripts have their own command line arguments, which should be documented on their respective pages (or in their source code), all bots unless specifically stated to the contrary recognize the following command line arguments:


 * -help
 * Print a list of global bot arguments (this list), followed by bot-specific help if available.


 * -lang:xx
 * Set the language of the wiki you want to work on to language code, overriding the configuration in.


 * -family:xyz
 * Set the family of the wiki you want to work on, e.g., wikipedia, wiktionary, wikitravel, ... This will override the configuration in.


 * -log
 * Enable the logfile. Logs will be stored in the logs subdirectory.


 * -log:xyz
 * Enable the logfile, using  as the filename.


 * -nolog
 * Disable the logfile (if it's enabled by default).


 * -putthrottle:nn
 * Set the minimum time (in seconds) the bot will wait between saving pages. The default value is 10.

For example,  will run the "scriptname" bot on wiktionary articles, overriding the default family setting in your user configuration.

Bot mailing list
It can be useful to subscribe to the bot mailing list (see http://lists.wikimedia.org/mailman/listinfo/Pywikipedia-l). Every time a file of the bot software is changed, a mail is sent to the list, so you know when you need to update to the new version.

Update

 * If you installed using SVN, updating your working copy is easy. Place yourself in your pywikipedia repertory, and simply type svn update. It will simply update the framework to include the latest changes. Read svn Manual for more precisions.
 * If you are using a nightly version, the process is a bit more complicated. You have to re-download a full copy from the same site. Before installing it, backup your configuration files and scripts (user-config.py, any family file, or custom script that you might have created). Replace your pywikipedia directory by the new version you just download. Restore your configuration files. If you're not sure of what you're doing, do not erase but keep a backup of your complete old pywikipedia directory, to avoid losing any important files.

How to report a bug
When you report a bug please try to include:


 * PyWikipediaBot version in use. It's recommended to test if the bug is still present in latest SVN revision available.
 * Python version (python -V) and operating system you use (e.g. Windows, Linux, MacOS...)
 * For above purpose, version.py will be useful.
 * A nice summary
 * Full description of the problem/report
 * How to reproduce bug full information (script, command line, family, and language used)
 * The console output provided by the script (included the Python traceback if you are reporting a crash)

To submit a new bug visit the bug tracker provided by SourceForge.

Development
If you have a function you want to have a bot for that is not yet provided by one of the bots, you can ask one of the programmers to write it for you. Or even better, you can try to work on the bots yourself. Python is a nice language, and not hard to learn. We will welcome you.

Tips
Here and in wikipedia.py, there are some very basic tips for getting started writing your own bot:
 * be sure you've set up your user-config.py file (see above)
 * To gain access to the pywikipedia framework, use:
 * to retrieve a page, use the following, where pageName is, e.g., "Wikipedia:Bots" or "India":
 * to update a page, use:
 * look at some of the pywikipedia files for other ideas -- basic.py is relatively easy to read even if you're new to pywikipedia.
 * you can find all available Page methods in the wikipedia.py file.
 * basic.py gives you a setup that can be used for many different bots, all you have to do is define the string editing on the page text.
 * To iterate over a set of pages, see pagegenerators.py for some objects that return a set of pages. An example use of the CategoryPageGenerator that does something for each page in the Category:Living people category:

Create a quick shortcut to run commands (Windows users)
How to make a quick shortcut to run commands (Windows users).

If you're installing Pywikipediabot in a folder such as "My Documents" it may be troublesome to use the "cd" command to go into the folder all the time to run the bots (For those who don't get what that means, this will help you a lot).

On Windows you can create a shortcut which will open the command box you can use to run bots easily. Just follow these simple steps to create one:
 * 1) Open up the folder pywikipedia is installed in, in a window.
 * 2) Under File > New select Shortcut.
 * 3) Type in "cmd.exe" and hit next.
 * 4) You can give a name to the shortcut here, just "Pywikipediabot" is good.
 * 5) In the address bar (The text bar above where your files are which tells you where you are) copy the path there.
 * 6) Right click on the new shortcut and hit properties and paste that path you copied into the "Start in" text field.
 * 7) Hit ok, and now you have a shortcut to open the command line to run bots from.

Contributing changes
If you changed the bot and want to send a patch to the maintainer,
 * 1) Update to the current version (it will merge your changes with the improvements already committed to the SVN Repository),
 * 2) Resolve any conflicts caused by the update (grep for "=====" ;-) and
 * 3) Type:
 * $ svn diff > svn.diff

Review the diff to ensure it only includes the changes you want to contribute. The lines at the beginning starting with "?" should be removed.

If you are in direct contact with a Pywikipediabot developer, you can send the file svn.diff to him, but preferably attach the patch to a ticket in the Pywikipedia bug tracking system.

Multiple accounts
It is a common need to run python wikipedia bot under different accounts (main and/or multiple bot accounts). It can be done in two ways.

Separate pywikipedia distributions
One can install completely separate instances of pywikipedia in different directories (1 for each account) and have diferent  files in each of them. However, when updating the installation via SVN, one needs to run  on each folder separately. Also, every installation takes some disk space, which might be a problem on accounts with limited quota.

One pywikipedia distribution with symbolic links
Let's assume user  has a current SVN working copy of pywikipedia in. For each of the accounts, he creates a separate directory:

foo@bar:~$ mkdir foobot foo@bar:~$ cd foobot

Pywikipedia needs then some symlinks to the main code tree created in the working directory:

foo@bar:~/foobot$ ln -s ~/pywikipedia/families foo@bar:~/foobot$ ln -s ~/pywikipedia/userinterfaces-->

Ссылки

 * Project's webpage
 * Botwiki, supplement to pywikipediabot
 * #pywikipediabot IRC channel