Path of Exile Wiki:PyPoE

Материал из Path of Exile Wiki
Перейти к: навигация, поиск

PyPoE - это набор инструментов разработки на основе Python 3 для работы с Path of Exile, разработанный User:OmegaK2. Интерфейс командной строки для вики широко используется для обновления многих страниц вики с данными игры.

В настоящее время он находится в стадии разработки (альфа версия), что означает, что он не является полноценным, не протестированным и подвержен частым изменениям.

Общее[править код]

PyPoE можно скачать с github. Следуйте инструкциям по установке.

Более подробные инструкции можно найти в документации; живая версия документации находится здесь.

Скачайте и установите:
Python - Версия: 3.5+
Git
Qt4
Сам PyPoE, в командной строке git clone https://github.com/OmegaK2/PyPoE.git
Дальше так-же в командной строке переходит в директорию с setup.py через команду cd c:\Users\ИМЯ ВАШЕГО ПРОФИЛЯ\PyPoE
По завершению, устанавливаем все библиотеки: pip install -e .[full] - Сработает, при правильной установке Python, идёт как инструмент.
После установки проверяем командой: pypoe_exporter
Дальше настраиваем сам Config - pypoe_exporter config print_all, и дальше обращаем внимание:
  1. language: Russian
  2. out_dir: D:/Wiki/Out
  3. temp_dir: D:/Wiki/Temp
  4. ggpk_path: d:/games/PoE

Данный пример в моём случае.

  • language pypoe_exporter config get language Russian - Для редактирования русской вики, если вы желаете работать на другом языке, в поле Russian вписываем интересующий вас язык - English/Deutsch.
  • out_dir: pypoe_exporter config get out_dir "D:/Wiki/Out"
  • temp_dir: pypoe_exporter config get temp_dir "D:/Wiki/Temp"
  • ggpk_path: pypoe_exporter config set ggpk_path "d:/games/PoE"

После этого всего, проверяем: pypoe_exporter config print_all и видим:

22:58:27 Current stored config variables:
22:58:27 distributor: DISTRIBUTOR.GGG
22:58:27 ggpk_path: d:/games/PoE
22:58:27 language: Russian
22:58:27 out_dir: D:/Wiki/Out
22:58:27 temp_dir: D:/Wiki/Temp
22:58:27 version: VERSION.STABLE

И на последок напишем: git pull да бы проверить обновления, время от времени прописываем с целью обновления бота.

Вот и хорошо, ну...что бы всё закрепить, скажем так, пишем: pypoe_exporter setup perform. И готово, вы можете приступать к редактированию!

Использование в wiki[править код]

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

Как правило, нет никаких ограничений на то, кто может использовать PyPoE, но обратите внимание, что без доступа ботов или администратора к обычным пользователям применяются некоторые ограничения в отношении автоматического использования. Однако можно просто записать что-нибудь на свой локальный диск (using the --write option), а затем вручную применить это к вики.

Процесс загрузки изображений обычно выполняется вручную; Чтобы PyPoE мог экспортировать несжатые изображения, см. Path_of_Exile_Wiki:Community_portal#Uncompressed_DDS_files_from_the_ggpk_for_the_wiki instructions on the community portal.

После крупных обновлений игры могут потребоваться обновления скрипта для правильной работы. О проблемах можно сообщать на GitHub или на User:OmegaK2 если они связаны с вики.

Параметры Wiki-экспортера[править код]

These are parameters that are supported on most commands.

Some parameters may not be available depending on the command, and some commands have have many additional parameters available. Please consult the command line help -h for details on specific parameter.

Parameter Arguments Description
-h

Н/Д

Shows the help message which includes a list of all possible parameters.
-p

Н/Д

Prints the output of the command to the console.
-wr

Н/Д

Writes the output of the command to the folder specified in the config.

File names will be named similarily to the wikipages, usually prefixed by the type of export (e.x. Imbued Wand would be called item_Imbued Wand.txt)

-d file path Overrides the config output directory and outputs to this one instead.
-w

Н/Д

Enables automatic exporting to the wiki.

This requires a complete installation of the CLI in particular including mwclient to access the wiki API.

-w-u username User name to use when performing edits on the wiki. To do this on gamepedia Special:BotPasswords must be used.

The user name, after being set will be something like BotName@UserName.

-w-p password The password used in combination with the user to perform edits on the wiki. This is NOT your login password, but rather the one set via Special:BotPasswords

Please note the password will be visible in the console.

-w-dr

Н/Д

Peform a dry run without actually editing any pages. This is useful to check if manual changes on a page would be accounted for correctly or overriden.
-w-oe

Н/Д

Only edit existing pages and do not create any new ones.
-w-slp time in seconds Sleep inbetween editing request.

The wiki may rate limit you, if the default settings do not work for you, consider using a high value here.

-w-mt number of threads How many simultaneous threads to run. Avoid using.
--format <template|module> This can be used on some command to export a module string instead of a template. This can be used to write to a file to get module strings for module debugging purposes.
-im

Н/Д

Allows the extraction of related images on some commands
-im-c

Н/Д

Converts the extracted image from DDS to PNG format. This requires an imagemagick installation to be available in the commandline.

Команды экспорта вики[править код]

Предметы[править код]

Command Description English
Wiki
only
pypoe_exporter wiki items item Base items (normal items)
pypoe_exporter wiki items prophecy Prophecies
pypoe_exporter wiki items maps For the 5th map series (Betrayal and newer). For older series base item export is used.

DOES NOT include unique maps

pypoe_exporter wiki items atlas_icons Special icons for the interactive atlas.

Страницы в пространствах имен данных (монстры, моды, области, пассивы)[править код]

Command Description
pypoe_exporter wiki area Exports the area data
pypoe_exporter wiki mods Exports the modifier data
pypoe_exporter wiki monster Exports monster data (experimental)
pypoe_exporter wiki passive Exports passive skill data
pypoe_exporter wiki skill Exports skill data

Please note exports of non-player skills are unsupported and will result in errors. This export only needs to be run for mods related skills, not skill gems (skill gems will populate their skill data automatically).

Общие дампы данных для модулей lua (атлас, скверна, спуск и т.д.)[править код]

Due to the nature of using lua and cargo on mediawiki, these particular changes will not be loaded without null-editing. Please see the corresponding templates for details on which template to null-edit for changes to go through.

Generally the data is stored in Template:Name/cargo/table_name/N where Name is the name of Template usually after whatever it is doing, table_name is the name of the database table, and N is one for each every 1000 entries.

Please note that some module pages might require admin privileges to edit to prevent vandalism.

Command Description
pypoe_exporter wiki lua atlas Exports data for the current atlas of worlds layout Template:Atlas
pypoe_exporter wiki lua bestiary Exports data related to bestiary crafting Template:Bestiary
pypoe_exporter wiki lua crafting_bench Exports crafting bench data such as recipes and unlocks Template:Crafting bench
pypoe_exporter wiki lua delve Exports delve data such as depth scaling, sulfite costs and delving upgrades Template:Delve
pypoe_exporter wiki lua monster Exports shared monster data such as the level progression, scaling for magic/rare monsters, map scaling info, monster types and resistances data, etc. Template:Monster
pypoe_exporter wiki lua pantheon Exports pantheon data Template:Pantheon
pypoe_exporter wiki lua ot Exports base statistics for monsters and player characters Template:Generic stats

Поддержка на других языках вики[править код]

PyPoE can work in other language wikis since it uses the appropriate game files for other languages, however there a number of original work and custom strings that need to be translated. This needs to be supported directly in the code, I'd recommend setting pull-requests or translations for the relevant portions so they can be added.

Currently Russian (provided by User:Ruba159753‎) and German is available.

The following files need strings for the specified variables:

  • PyPoE/_data/custom_descriptions.txt
  • PyPoE/cli/wiki/parser.py
    • _inter_wiki_map
    • _HIDDEN_FORMAT
  • PyPoE/cli/wiki/parsers/lua.py
    • _ITEM_MAP
    • _TWO_STONE_MAP
  • PyPoE/cli/wiki/parsers/item.py
    • _conflict_resolver_prophecy_map
    • _NAME_OVERRIDE_BY_ID
    • _LANG
  • PyPoE/cli/wiki/parsers/area.py
    • _LANG
  • PyPoE/cli/wiki/parsers/incursion.py
    • _incursion_room_page_name