Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Package to find typos in russian text.

Project description

Rozental As A Service

Build Status Maintainability Test Coverage

Библиотека для поиска опечаток в строковых константах в исходном коде. Скажем нет опечаткам в докстрингах и пользовательских сообщениях.

Говорите и пишите по-русски правильно

ВНИМАНИЕ: Фамилия Розенталя на английском пишется так: 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 – в любом случае завершать процесс без ошибки. Пригодится, если вы не хотите ломать билд при наличии опечаток (полезно при внедрении).
  • --process_dots – проверять файлы и директории, название которых начинается с точки. По-умолчанию они пропускаются.
  • --processes – количество процессов, которые будут использоваться для извлечения строк. По-умолчанию используется доступное количество процессоров.
  • -v – более многословный режим.

Эти же опции можно указать в .cfg-файле (секция rozental), путь до которого указать с помощью --config (по-умолчанию Розенталь ищет setup.cfg в пути для проверки).

Какие файлы умеет смотреть Розенталь

  • .py, .pyi;
  • .po;
  • .md;
  • .html;
  • .js, .tsx.

Как использовать

  1. Разово запустить на существующей кодовой базе и исправить некоторые опечатки.
  2. Заполнить .vocabulary-файл, исправить все существующие опечатки и поставить проверку Розенталя в билд: если кто-то опечатается, билд сломается.

Contributing

Да, пожалуйста!

Мы соблюдаем правила поведения Django и стайлгайд BestDoctor.

Если хотите принять участие в разработке – напишите Илье (https://t.me/melevir), он всё расскажет. Я пишу о себе в третьем числе, ну отлично.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rozental-as-a-service, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size rozental_as_a_service-0.1.0.tar.gz (12.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page