Skip to main content

Pre-reform to contemporary orthography convertor for the Russian language

Project description

Prereform2modern

Преобразует текст из дореформенной орфографии в современную. Работает в Py3.


  Установка

pip install prereform2modern

  Запуск из командной строки:

 Длинный способ

python -m prereform2modern.translit_from_string "Онъ стоялъ подлѣ письменнаго стола"
Он стоял подле письменного стола

 Короткий способ

translit "Онъ стоялъ подлѣ письменнаго стола"

 Флаг -t отображает изменённые слова в старой орфографии.

translit -t "Онъ стоялъ подлѣ письменнаго стола"
Он{Онъ} стоял{стоялъ} подле{подлѣ} письменного{письменнаго} стола

  Запуск из интерпретатора:

from prereform2modern import Processor
orig_text = "Онъ стоялъ подлѣ письменнаго стола"
text_res, changes, s_json = Processor.process_text(
    text=orig_text,
    show=False,
    delimiters=False,
    check_brackets=False
    )

  Выдача

  • text_res: str

 Преобразованный текст.

print(text_res)
Он стоял подле письменного стола
  • changes: str

 Произведенные изменения.

print(changes)
Онъ --> Он
стоялъ --> стоял
подлѣ --> подле
письменнаго --> письменного
  • str_json: str

 Сведения о всех словах и символах в формате json.

import json
json.loads(s_json)
{'0': {'old_word': 'Онъ', 'type': 'word', 'word': 'Он'},
'1': {'old_word': '', 'type': 'punct', 'word': ' '},
'2': {'old_word': 'стоялъ', 'type': 'word', 'word': 'стоял'},
'3': {'old_word': '', 'type': 'punct', 'word': ' '},
'4': {'old_word': 'подлѣ', 'type': 'word', 'word': 'подле'},
'5': {'old_word': '', 'type': 'punct', 'word': ' '},
'6': {'old_word': 'письменнаго', 'type': 'word', 'word': 'письменного'},
'7': {'old_word': '', 'type': 'punct', 'word': ' '},
'8': {'old_word': '', 'type': 'word', 'word': 'стола'}}

  Параметры

method Processor.process_text(
    text, show, delimiters, check_brackets
    )
  • text: str

 Оригинальный текст в дореформенной орфографии.

  • show: boolean

 Включает в результат заменённые слова в дореформенной орфографии. Если параметр check_brackets=True, то заменённые слова показываются при любом значении параметра show.

  • delimiters: list из трех элементов типа str

 Используется для обозначения заменённых слов. Первый элемент помещается перед новым словом, а другие два элемента выделяют заменённое слово. Так, можно использовать скобки:

delimiters=['', '{', '}']
text="примеръ"
пример{примеръ}

 Или, например, теги XML (про использование тега <choice> см. здесь):

delimiters=['<choice><reg>', '</reg><orig>', '</orig></choice>']
<choice><reg>пример</reg><orig>примеръ</orig></choice>
  • check_brackets: boolean

 Помечает редакторскую правку.

text='Пройдя комнату, такъ [называемую], офиціанскую'
delimiters=['', '{', '}']
check_brackets=True
Пройдя комнату, так{такъ} <choice original_editorial_correction='[называемую]'><sic></sic>
<corr>называемую</corr></choice>, официанскую{офицiанскую}

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

prereform2modern-1.0.0.tar.gz (1.0 MB view hashes)

Uploaded Source

Built Distribution

prereform2modern-1.0.0-py3-none-any.whl (1.0 MB view hashes)

Uploaded Python 3

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