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