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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b56f0f5d86997288b2da11b44c6e855ea4977a848990252528f63fa03dd2cdb4 |
|
MD5 | dc856f52760583e28a5d6a7bf30ece62 |
|
BLAKE2b-256 | 3aa7d759e65694e9206a843c437d0d8c9fae4d9c7d613fd91f79e09c68e3d357 |