Package to find typos in russian text.
Project description
Rozental As A Service
Библиотека для поиска опечаток в строковых константах в исходном коде. Скажем нет опечаткам в докстрингах и пользовательских сообщениях.
ВНИМАНИЕ: Фамилия Розенталя на английском пишется так: Rosenthal,
но эта библиотека называется rozental
. Это не безграмотность, это метаирония. :)
Принцип работы
Розенталь парсит исходный код в указанной директории, извлекает из него строковые константы, отфильтровывает из них русские слова и проверяет их правильность с помощью Яндекс.Спеллера. Чтобы не тратить много времени на общение с внешним сервисом, Розенталь кэширует результат работы Я.Спеллера в локальной sqlite базе данных.
Также Розенталь поддерживает .vocabulary
-файл: текстовый файл с
перечислением точно верных слов. Это нужно для слов, специфичных для проекта
и для слов, которые Я.Спеллер считает некорректными, хотя с ними всё ок.
Установка
pip install rozental_as_a_service
Для этого вам понадобится Python 3.6+.
Пример
def start_ad_company(company: Company) -> bool:
if company.owner.total_budget < company.budget:
company.owner.send_message('Для содание рекламной компании недостаточно бджета')
return False
...
Использование:
$ rozental test.py
Найденное слово Возможные исправления
----------------- ---------------------------
бджета бюджета, джетта, буджета
содание создание, задание, создания
Аргументы:
--vocabulary_path
– путь до файла словаря. По-умолчанию Розенталь ищет файл.vocabulary
в директории для проверки.--db_path
– путь до sqlite-базы данных с кэшем для Розенталя. По-умолчанию создаётся.rozental.sqlite
в директории для проверки.--exclude
– список каталогов, в которых не нужно проверять файлы. Например,tests/,cache/,lib/,dist/
.--exit_zero
– в любом случае завершать процесс без ошибки. Пригодится, если вы не хотите ломать билд при наличии опечаток (полезно при внедрении).--processes
– количество процессов, которые будут использоваться для извлечения строк. По-умолчанию используется доступное количество процессоров.-v
– более многословный режим.
Эти же опции можно указать в .cfg
-файле (секция rozental
), путь до которого указать с помощью
--config
(по-умолчанию Розенталь ищет setup.cfg
в пути для проверки).
Какие файлы умеет смотреть Розенталь
.py
;.md
;.html
;.js
,.tsx
.
Как использовать
- Разово запустить на существующей кодовой базе и исправить некоторые опечатки.
- Заполнить
.vocabulary
-файл, исправить все существующие опечатки и поставить проверку Розенталя в билд: если кто-то опечатается, билд сломается.
Contributing
Да, пожалуйста!
Мы соблюдаем правила поведения Django и стайлгайд BestDoctor.
Если хотите принять участие в разработке – напишите Илье (https://t.me/melevir), он всё расскажет. Я пишу о себе в третьем числе, ну отлично.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for rozental_as_a_service-0.0.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5f3291bb87709c2364971047e37a581dc82bd17f740edb7e94009c422bf8397 |
|
MD5 | 1eb0c881866e8b620452312dbd20bb6d |
|
BLAKE2b-256 | d7f2b581f413dcb4f66768654e70116d10811c8290cf313c017f6f9ee0845dc1 |