Skip to main content

Tool (and lib) for coding fix.

Project description

Назначение

Пакет нужен чтобы чинить “кракозябры” (или “краказябры”) в читаемый текст. Например: “õîğîøèé òåêñò” => “хооший текст”.

Установка

$ git clone https://bitbucket.org/dkuryakin/recoder.git
$ cd recoder && python setup.py install

или

$ pip install recoder

Полезные команды

Использование как консольная тулза.

$ echo "Îñíîâíàÿ Îëèìïèéñêàÿ äåðåâíÿ â" | python -mrecoder [coding]

По умолчанию, coding=utf-8.

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

Чаще всего с кракозябрами справится такой базовый пример:

from recoder.cyrillic import Recoder
rec = Recoder()
broken_text = u'Îñíîâíàÿ Îëèìïèéñêàÿ äåðåâíÿ â'
fixed_text = rec.fix_common(broken_text)
print fixed_text.encode('utf-8')

Если базовый пример не справился, можно поиграться с настройками:

from recoder.cyrillic import Recoder
rec = Recoder(depth=4)
broken_text = u'...'
fixed_text = rec.fix(broken_text)  # fix работает дольше и сложнее чем fix_common
...

Можно использовать частоупотребимые слова (и, на, к, в, …) как индикатор успеха перекодировки. Но в этом случае текст починится только если в нём есть эти слова:

from recoder.cyrillic import Recoder
rec = Recoder(use_plus_words=True)
...

Замечания

В данный момент поддерживается только кириллица.

Расширение

Если хочется расширить библиотеку не только кириллицей, предусмотренна удобная тулза:

$ cat some_learning_text.txt | python -mrecoder.builder [coding]

По-умолчанию, coding=utf-8. На stdin подавать текстовку для обучения. На выходе получится 2 файлика: 3grams.json и plus_words.json. Далее всё делается по аналогии с recoder.cyrillic.

Тесты

Тут всё просто:

$ git clone https://bitbucket.org/dkuryakin/recoder.git
$ cd recoder && python setup.py test

Changelog

v0.1.0
  • Реалиизация базовой функциональности.

v0.2.0
  • Добавлние декодеров. Теперь умеет декодить такие кракозябры (взял примеры на 2cyr.com):

    • èðèëèöà

    • %D0%A2%D0%BE%D0%B2%D0%B0+%D0%B5+%D0%BA

    • åäíà ãîäè

    • ирилица

v0.3.0
  • Добавлена поддержка python3.

v0.3.1
  • Удаление из зависимостей пакета regex.

  • Минорные фиксы.

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

recoder-0.3.1.tar.gz (96.8 kB view details)

Uploaded Source

File details

Details for the file recoder-0.3.1.tar.gz.

File metadata

  • Download URL: recoder-0.3.1.tar.gz
  • Upload date:
  • Size: 96.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for recoder-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b56f0f5d86997288b2da11b44c6e855ea4977a848990252528f63fa03dd2cdb4
MD5 dc856f52760583e28a5d6a7bf30ece62
BLAKE2b-256 3aa7d759e65694e9206a843c437d0d8c9fae4d9c7d613fd91f79e09c68e3d357

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