Manual:Pywikibot/PAWS/ru


 * См. PAWS для более детальной информации.

Этот документ обеспечивает быстрый интерактивный обзор  с использованием блокнота размещенного в лабораторной среде Викимедиа используя PAWS (Pywikibot A Web Shell).

Создание пользователя Викимедиа
Для прохождения регистрации вам нужен только аккаунт на Википедии/Викимедии. Используйте Special:CreateAccount, чтобы создать его.

После того как вы создали аккаунт, пожалуйста, посетите https://test.wikipedia.org/ и проверьте, что Ваш логин появился в верхнем правом углу (это работает после T120327).

If you are a new user on Wikimedia log in with your account on meta.Wikimedia, Wikipedia, Wikidata, and Commons. And in each of them read and delete all pending messages you have (on the top).

Регистрация в блокноте PAWS
Для запуска блокнота, перейдите на https://hub.paws.wmcloud.org/hub

Нажмите кнопку "Вход в Медивавики" и нажмите кнопку "Разрешить", когда появится запрос "Использовать OAuth для аутентификации". При Вашем первом входе в PAWS, Вы должны создать сервер. Нажмите на зелёную кнопку с надписью "Запустить мой сервер". Вполне нормально подождать несколько минут для запуска сервера.

Как только это будет завершено, Вы будете перенаправлены на URL такого вида https://paws.wmflabs.org/paws/user/ /tree

Запуск терминала
Для запуска нового интерактивного терминала,
 * 1) Перейдите на [$paws Домашнюю станицу PAWS]
 * 2) Щёлкните 'New' справа, и
 * 3) Выберете 'Terminal'.

При этом откроется новое окно с URL https://paws.wmflabs.org/paws/user/ /terminals/1, с приглашением Linux '$'.

Вы можете занести в закладки этот URL, и возвращаться к терминалу в любое время, даже после закрытия браузера или выключения вашего собственного компьютера.

Этот терминал - не эмулятор. Это настоящая оболочка bash, которая является частью Linux установленной в докер-контейнере, поэтому Вы можете использовать любые bash-команды, а также использовать любые команды, доступные в Linux, который был установлен.

Чтобы увидеть некоторые из доступных команд, используйте.

Вход в вики
Это установит ваш аккаунт на сервере и позволит вам войти в систему из командной строки. Следующая команда должна подтвердить, что вы можете войти в testwiki. Она использует технологию OAuth, поэтому нет нужды вводить пароль.

Вы можете присоединить pywikibot к другой вики, создав файл, названный "user-config.py" в своей  директории  и добавляя переменные mylang и family

Создание страницы
Чтобы создать страницу, введите следующую команду в терминале, заменив '<имя_пользователя>' с вашим именем пользователя, и нажав клавишу "Y", когда будет предложено подтвердить изменения:

После редактирования Вики. Вы можете посмотреть изменения, открыв <в nowiki>https://test.wikipedia.org/wiki/User_talk:<имя пользователя> в вашем браузере.

Вы можете узнать больше о каждом из этих сценариев командной строки с '-help' опции командной строки.

Выборка страниц
Выбор нескольких страниц осуществляется командой "listpages".

Чтобы получить содержимое страницы, которую Вы создали в предыдущем разделе, введите следующую команду:

Теперь если зайти на [$pawshome Список файлов PAWS], там должны присутствовать сохраненные страницы.

Пример скрипта
Когда вебсайт, на который ссылается Википедия меняет URL, ссылки на Википедии становятся устаревшими, а возможно и мертвыми в случае отсутствия перенаправления со старых URL на новые. Как пример, Encyclopedia Britannica (EB) сменила ссылки, переместив страницы с http://www.britannica.com/EBchecked/media/ на http://www.britannica.com/topic/[topic name]/images-videos/*. Вы можете найти список использований старых URL на Английской Википедии по https://en.wikipedia.org/wiki/Special:LinkSearch/http://www.britannica.com/EBchecked/media. Обновление всех ссылок вручную заняло бы много времени. Спасибо EB за перенаправление старых URL на новые, нам не придется исправлять все немедленно. For example, Encyclopedia Britannica (EB) has changed their links, such as moving pages from http://www.britannica.com/EBchecked/media/ to http://www.britannica.com/topic/[topic name]/images-videos/*. You can find the list of usages of the old URL on English Wikipedia at w:Special:LinkSearch/http://www.britannica.com/EBchecked/media. Updating all those links manually will be very time consuming. Thankfully EB has maintained redirects from their old URLs to the new URLs, so this does not need to be fixed immediately.

Простой пример: Английская Википедия содержит ссылки на http://britannica.com/EBchecked/ вместо http://www.britannica.com/EBchecked/ ; то есть в URL пропущен поддомен 'www.'.

В настоящее время существует 14 возможных случаев в английской Википедии: https://en.wikipedia.org/wiki/Special:LinkSearch/http://britannica.com/EBchecked/

В Википедии на других языках тоже есть эта проблема. Например, есть один случай в немецкой Википедии: https://de.wikipedia.org/wiki/Spezial:Weblinksuche/http://britannica.com/EBchecked/

Для того, чтобы исправить эти ссылки, мы можем использовать Pywikibot Manual:Pywikibot/replace.py/replace.py скрипт. В этой демонстрации мы будем использовать аргумент '-simulate', чтобы не писать в вики, так как существуют строгие правила об автоматическом редактированим в английской Википедии.

Сначала получите список всех страниц которые ссылаются на http://britannica.com/EBchecked/.

Сейчас мы проверяем что эти страницы на самом деле имеют буквенный URL - адрес страницы; т. е. они не используют шаблон.

Теперь используйте замену, чтобы добавить недостающие буквы "www."

В PAWS, и любой терминал, который поддерживает цвет, разница изменений покажет добавленные буквы "www." зеленым цветом, что позволит легче найти предлагаемые изменения.

Внутри Pywikibot
Далее мы будем использовать сессию PAWS Python.


 * 1) Перейдите на Вашу [$paws Домашнюю страницу PAWS],
 * 2) Щёлкните 'New' с правой стороны, и
 * 3) Выберете 'Python 3'.

При этом откроется новое окно.

В текстовом поле введите следующее и в ячейке меню выберите "Выполнить(Run)" (или нажмите клавиши Shift+ввод, чтобы запустить).

Новое текстовое поле будет отображаться ниже. Выполните следующую команду для создания APISite объекта подключенного к https://test.wikipedia.org/:

Наберите "site", введя его в новое текстовое поле и выберете "запустить(Run)".

Он должен показать

Out[3]: APISite("test", "wikipedia")

Создайте страницу объекта:

Проверьте её существование, запустив:

Нужно вывести

VERBOSE:pywiki:Found 1 wikipedia:test processes running, including this one. Out[5]: True

Показать текст на странице:

Изменить текст страницы в объект:

Сохраните страницу в вики:

Ответ должен быть:

Интерактивный блокнот Python 3 позволяет нескольким строкам выполнятся параллельно. Вышесказанное может быть введено в одно текстовое поле и запущено

Лог интерактивной сессии Python может быть сохранён или загружен в будущем.

Доступ к онлайн документации по PAWS
Документация Pywikibot может быть найдена на https://doc.wikimedia.org/pywikibot/index.html. Она созадется из docstrings, и может быть загружена в интерактивной консоли Python 3 используя встроенные функции Python help.

Например, чтобы посмотреть на аргументы для метода сохранённого выше, либо:

или

Редактирование скрипта Pywikibot
В Pywikibot библиотеки и скрипты находятся в /srv/paws, и доступны только для чтения. Установленная Pywikibot-библиотека не может быть изменена в PAWS.

Скрипты могут быть изменены после их копирования в Домашнюю страницу PAWS.

Для запуска изменённого "checkimages.py"
 * 1) В терминале, введите "cp /srv/pwb/scripts/checkimages.py ~"
 * 2) Щёлкните по файлу checkimages.py в Вашей [$paws Домашней странице PAWS]
 * 3) Исправьте код и сохраните Ваши изменения
 * 4) В терминале, введите "pwb.py ~/checkimages.py -simulate"

Edit the code -- for instance, just after the  code on line 1775, add a new line 1776 that will print out your name:
 * 1) In the terminal, enter
 * 1) In a browser, go to your PAWS home and click on the file.
 * 1) In the browser, you can edit the file.
 * 1) In the editing interface, use the File menu and click Save to save your modifications.
 * 1) In the terminal, enter

См. также

 * шпаргалка по PAWS от одного пользователя (например об API и доступе к базе данных)
 * Source code on GitHub