94c9ce12644c2331994c4456170f0d8766dc2e93
Pf2e Data Scrapper
Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e.
Начало работы
- Склонируйте репозиторий и войдите в папку
Pf2e/Scrapper. - Создайте файл
.envи добавьте в него содержимое из файла.env.example. Измените содержащиеся поля:DATA_DIR- путь к папке для распаковки репозиториев обрабатываемых данных;OUTPUT_DIR- путь к месту сохранения схем;DATABASE_CONNECTION- строка подключения к БД (только PostreSQL);MAX_THREADS- максимальное количество потоков при параллельной обработке.
- Перейдите а папку
Pf2e/Database(cd ../Database) и запуститеdotnet ef database updateдля создания структуры БД в командной строке. Если необходимо обновить структуру после изменения модели - используйте скриптRebuildDatabase.bat. - Запустите проект
Pf2e.Scrapperдля парсинга информации.
Роли и документация проектов
Pf2e.Database- общая ORM-структура модели.Pf2e.Scrapper- загрузчик и обработчик данных.
По ссылкам можно увидеть полную документацию классов.
Публичная версия БД
Последняя проверенная версия БД развёрнута на моём личном сервере:
- Хост:
teswa.ru - Порт:
5432 - Пользователь:
pf2e - Пароль:
pf2e
Этот доступ read-only (т.е. доступны только SELECT).
Рекомендуемый запрос к БД для получения сущности (например, действия):
SELECT
E.*,
A.*
FROM actions AS A
INNER JOIN entities AS E ON A.id = E.id;
Прогресс создания обработчиков
Aonprd (Архивы Нефиса)
Общее (15 из 36)
- action.yaml
- ancestry.yaml
- archetype.yaml
- background.yaml
- class.yaml
- creature-ability.yaml
- deviant-ability-classification.yaml
- heritage.yaml
- kingdom-event.yaml
- kingdom-structure.yaml
- language.yaml
- mythic-calling.yaml
- plane.yaml
- relic.yaml
- ritual.yaml
- skill-general-action.yaml
- skill.yaml
- source.yaml
- spell.yaml
- tradition.yaml
- trait.yaml
- warfare-army.yaml
- warfare-tactic.yaml
- weather-hazard.yaml
Состояния
- condition.yaml
- curse.yaml
- disease.yaml
Тексты
- article.yaml
- category-page.yaml
- rules.yaml
- sidebar.yaml
Боги
- deity.yaml
- deity-category.yaml
- domain.yaml
Фиты
- feat.yaml
- class-feature.yaml
Подклассы (1 из 29)
- research-field.yaml (Alchemist)
- apparition.yaml (Animist)
- practice.yaml (Animist)
- instinct.yaml (Barbarian)
- muse.yaml (Bard)
- cause.yaml (Champion)
- tenet.yaml (Champion)
- doctrine.yaml (Cleric)
- druidic-order.yaml (Druid)
- methodology.yaml (Investigator)
- element.yaml (Kineticist)
- hybrid-study.yaml (Magus)
- mystery.yaml (Oracle)
- conscious-mind.yaml (Psychic)
- subconscious-mind.yaml (Psychic)
- hunters-edge.yaml (Ranger)
- racket.yaml (Rogue)
- bloodline.yaml (Sorcerer)
- style.yaml (Swashbuckler)
- eidolon.yaml (Summoner)
- implement.yaml (Thaumaturge)
- lesson.yaml (Witch)
- patron.yaml (Witch)
- arcane-school.yaml (Wizard)
- arcane-thesis.yaml (Wizard)
- way.yaml (Gunslinger)
- innovation.yaml (Innovator)
- ikon.yaml (Exemplar)
- epithet.yaml (Exemplar)
- hellknight-order.yaml
Бестиарий (0 из 10)
- animal-companion-advanced.yaml
- animal-companion-specialization.yaml
- animal-companion-unique.yaml
- animal-companion.yaml
- creature-adjustment.yaml
- creature-family.yaml
- creature-theme-template.yaml
- creature.yaml
- familiar-ability.yaml
- familiar-specific.yaml
Экипировка (0 из 11)
- armor-group.yaml
- armor.yaml
- campsite-meal.yaml
- equipment-bonus.yaml
- equipment-sub.yaml
- equipment.yaml
- set-relic.yaml
- shield.yaml
- siege-weapon.yaml
- vehicle.yaml
- weapon.yaml
- weapon-sub.yaml
- hazard.yaml
Под вопросом (0 из 2)
- class-kit.yaml
- class-sample.yaml
Что не дополучено с Архивов
- Ссылка наследий (
heritage) на родословные (ancestry).
TODO
- Добавление экипировки
- Добавление бестиария
Languages
C#
89.5%
PLpgSQL
10.4%
Python
0.1%