Библиотека для поиска опечаток в строковых константах в исходном коде. Скажем нет опечаткам в докстрингах и пользовательских сообщениях.
ВНИМАНИЕ: Это проект находится в стадии "почти никем не используется в бою и поддерживается очень эпизодически". Используйте на свой страх и риск.
Фамилия Розенталя на английском пишется так: Rosenthal,
но эта библиотека называется rozental. Это не безграмотность, это метаирония. :)
Розенталь парсит исходный код в указанной директории, извлекает из него строковые константы, отфильтровывает из них русские слова и проверяет их правильность с помощью Яндекс.Спеллера. Чтобы не тратить много времени на общение с внешним сервисом, Розенталь кэширует результат работы Я.Спеллера в локальной sqlite базе данных.
Также Розенталь поддерживает .vocabulary-файл: текстовый файл с
перечислением точно верных слов. Это нужно для слов, специфичных для проекта
и для слов, которые Я.Спеллер считает некорректными, хотя с ними всё ок.
pip install rozental_as_a_serviceДля этого вам понадобится Python 3.7+.
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,-vp– путь до файла словаря. По-умолчанию Розенталь ищет файл.vocabularyв директории для проверки.--db_path,-db– путь до sqlite-базы данных с кэшем для Розенталя. По-умолчанию создаётся.rozental.sqliteв директории для проверки.--exclude,-e– список каталогов, в которых не нужно проверять файлы. Например,tests/,cache/,lib/,dist/.--exit_zero,-ez– в любом случае завершать процесс без ошибки. Пригодится, если вы не хотите ломать билд при наличии опечаток (полезно при внедрении).--process_dots,-pd– проверять файлы и директории, название которых начинается с точки. По-умолчанию они пропускаются.--processes,-p– количество процессов, которые будут использоваться для извлечения строк. По-умолчанию используется доступное количество процессоров.--ban_obscene_words,-obs– считать вхождения мата за ошибки.--backends,-b– Список бэкендов, которые использовать для проверки, через запятую, доступные бэкенды:vocabulary, yaspeller, autocorrect.--verbose,-v– более многословный режим.
Эти же опции можно указать в .cfg-файле (секция rozental), путь до
которого указать с помощью --config, -c (по-умолчанию Розенталь ищет
setup.cfg в пути для проверки).
.py,.pyi;.po;.md;.html;.js,.tsx.
- Разово запустить на существующей кодовой базе и исправить некоторые опечатки.
- Заполнить
.vocabulary-файл, исправить все существующие опечатки и поставить проверку Розенталя в билд: если кто-то опечатается, билд сломается.
Да, пожалуйста!
Мы соблюдаем правила поведения Django и стайлгайд BestDoctor.
Если хотите принять участие в разработке – напишите Илье в Телеграмм, он всё расскажет. Я пишу о себе в третьем лице, ну отлично.
