Skip to main content

Python package for working with Warodai and Yarxi dictionaries

Project description

JRSub

PyPI Build Status

Установка

pip install jrsub

Использование

Загрузка ранее сгенерированной словарной базы

ЯРКСИ

yl = YarxiLoader() // экземпляр загрузчика
yd = yl.load() // словарь

Warodai

wl = WarodaiLoader() // экземпляр загрузчика
wd = wl.load() // словарь

Поиск в словарях

yd.lookup(lexeme: str[, reading: str, search_mode: SearchMode])[SearchResult]

  • возвращает список SearchResult, включающих в себя поля lexeme, reading и translation из подходящих записей;
  • все три поля являются списками строк.

yd.lookup_translations_only(lexeme: str[, reading: str, search_mode: SearchMode])[str]

  • возвращает значения полей "перевод" из подходящих записей в виде одномерного списка строк.
Параметр Допустимые значения Обязательный параметр
lexeme хирагана, катакана, кандзи ✔️
reading хирагана
search_mode SearchMode.consecutive, SearchMode.deep_only, SearchMode.shallow_only
  • SearchMode.shallow_only: поиск осуществляется только по исходным формам, дословно приведенным в словаре. Малейшие изменения в слове (например, лишние символы окуриганы или их отсутствие) приведут к пустой выдаче словаря.

  • SearchMode.deep_only: задает "глубокий" режим поиска: при поиске в первую очередь учитываются входящие в слово иероглифы. Этот режим работает медленнее, чем SearchMode.shallow_only, но при этом он гораздо надежнее.

  • SearchMode.consecutive (задан по умолчанию): вначале запускается "поверхностный поиск", а затем, если он не дал результатов, -- "глубокий". Это оптимальный из всех трех вариантов, лучше его не изменять.


Пересборка словарных баз

Методы загрузчиков

Действие Метод Аргументы Начальное значение
Включение/откючение транслитерации примеров в переводах .enable_transliteration mode: bool True (включено)
Изменение префикса к переводам, свойственным иероглифам в составе сложных слов (только для ЯРКСИ) .set_compounds_pref pref: str '〈в сочет.〉'
Изменение способа выделения некоторых частей перевода .set_highlighting left: str; right: str '《'; '》'
Запуск перестройки словарной базы .rescan path: str; show_progress: bool папка dictionaries/source в каталоге установки пакета; True
  • Для отображения в браузере можно при помощи set_highlighting заменить кавычки-елочки на HTML-теги: yl.set_highlighting('<i>', '</i>');
  • Перестройка одной базы занимает около восьми минут: полосы прогресса позволяют отследить, на какой стадии база находится в данный момент.
  • При перестройке рекомендую использовать отредактированные мной варианты исходников, доступные в репозитории в каталоге dictionaries/source (список изменений в Яркси | Вародае; в основном изменения касаются форматирования, но также было найдено и исправлено несколько опечаток).

Методы полученных после сборки словарных баз

Действие Метод Аргументы Значение по умолчанию
Сохранение перестроенной базы .save path: str папка dictionaries в каталоге установки пакета
  • Если оставить значение пути по умолчанию, база будет сохраняться в установочный каталог пакета, и при следующем запуске к ней можно будет получить доступ методом загрузчика .load() без параметров.

Примеры работы со словарями (demo)

  • cli.py -- самый простой пример взаимодействия через командную строку;
  • app.py -- веб-интерфейс для работы через браузер;
  • flask.Dockerfile -- docker-контейнер с приложением из файла app.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jrsub-0.1.11.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

jrsub-0.1.11-py3-none-any.whl (7.7 MB view details)

Uploaded Python 3

File details

Details for the file jrsub-0.1.11.tar.gz.

File metadata

  • Download URL: jrsub-0.1.11.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.7.15 Linux/5.15.0-1031-azure

File hashes

Hashes for jrsub-0.1.11.tar.gz
Algorithm Hash digest
SHA256 59955d3c7462a0588df2d4870e31107ddb4504e79076b617cdf55e4fcf5e6239
MD5 02d4e83d24d96741eb2ccdedb79af1a8
BLAKE2b-256 ab29c9b0f11aa9295074bde6348ba26fee9cebd73fdf137e0e2c65ab296d25f8

See more details on using hashes here.

File details

Details for the file jrsub-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: jrsub-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.7.15 Linux/5.15.0-1031-azure

File hashes

Hashes for jrsub-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ed7d2527cc62ca59913f8f17381a9400f9128962ef4299a18fd4f3b9badf62
MD5 0c5c0bdcca09f0adb6da72bf02320edd
BLAKE2b-256 36fc36bdbc489b20f1834ec075baf37ad61d2f730a3d358ab715c13dc7653738

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page