Rozental As A Service
Библиотека для поиска опечаток в строковых константах в исходном коде. Скажем нет опечаткам в докстрингах и пользовательских сообщениях.
ВНИМАНИЕ: Это проект находится в стадии "почти никем не используется в бою и поддерживается очень эпизодически". Используйте на свой страх и риск.
Фамилия Розенталя на английском пишется так: 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-файл, исправить все существующие опечатки и поставить проверку Розенталя в билд: если кто-то опечатается, билд сломается.
Contributing
Да, пожалуйста!
Мы соблюдаем правила поведения Django и стайлгайд BestDoctor.
Если хотите принять участие в разработке – напишите Илье в Телеграмм, он всё расскажет. Я пишу о себе в третьем лице, ну отлично.
Release files for rozental-as-a-service 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rozental_as_a_service-1.2.2.tar.gz | 12.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rozental_as_a_service-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.5 MB
Release files / rozental_as_a_service-1.2.2.tar.gz
| Download URL | rozental_as_a_service-1.2.2.tar.gz |
|---|---|
| Size | 12.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfa56984b839022f190dcbefe5a3a1a3b484cd1908b7bf2e2c6514287b23a916
|
|
BLAKE2b-256 checksum How to use checksums |
cc5e36500355beea4fc770d908154a78721bd89a9fbec244a76eef74bb590eaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
|
Release files / rozental_as_a_service-1.2.2-py3-none-any.whl
| Download URL | rozental_as_a_service-1.2.2-py3-none-any.whl |
|---|---|
| Size | 12.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5b130763d0ba6b3cd9774df08be173e035c98d7cf5ce9385f7db7b1eb8563e3
|
|
BLAKE2b-256 checksum How to use checksums |
d67621a2b4d42da7ff9aab0ddf4c405ad77857341b9c1a145ce0b0efc9a46b64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
|