Склонение русских имён, фамилий и отчеств по падежам. Порт с ruby библиотеки на python
pip install petrovich
Перед использованием модуля требуется создать экземпляр класса Petrovich. В момент инстанцирования производится загрузка файла с правилами
from petrovich.main import Petrovich
p = Petrovich()
Также при инстанцировании есть возможность выполнить загрузку собственного файла с правилами, путем передачи значения через аргумент rules_path
p = Petrovich(rules_path='my/custom/rules/file.json')
Для склонения каждой из частей ФИО используется собственный метод. Это:
-
firstname- склонение имени -
lastname- склонение фамилии -
middlename- склонение отчества
Каждый из этих методов принимает по 3 аргумента:
-
value- слово для склонения в именительном падеже -
case- падеж для склонения, содержащий значение, представленное в перечисленииpetrovich.enums.Case -
gender- род для склонения, необязательное для заполнения. Если не задать, то будет попытка определить род самостоятельно на основе определенных правил. В ряде случаев возможно ошибочное определение, например для несклоняемых фамилий (Ткач, Бондаренко, и т.д.). Используется значение из перечисленияpetrovich.enums.Gender.
from petrovich.main import Petrovich
from petrovich.enums import Case, Gender
p = Petrovich()
cased_lname = p.lastname(u'Алексеев', Case.GENITIVE, Gender.MALE)
print cased_lname # > Алексеева
Присутствуют изменения с потерей обратной совместимости.
Был удален префикс CASE_ у всех значений перечисления petrovich.enums.Case.
