Библиотека для поиска опечаток в строковых константах в исходном коде. Скажем нет опечаткам в докстрингах и пользовательских сообщениях.
ВНИМАНИЕ: Это проект находится в стадии "почти никем не используется в бою и поддерживается очень эпизодически". Используйте на свой страх и риск.
Фамилия Розенталя на английском пишется так: 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.
Если хотите принять участие в разработке – напишите Илье в Телеграмм, он всё расскажет. Я пишу о себе в третьем лице, ну отлично.