Исходный код Weblate#
Weblate разрабатывается на GitHub’е. Вы можете создавать форки и открывать запросы на извлечение. Патчи в любой другой форме также приветствуются.
См.также
Чтобы понять, как Weblate устроен изнутри, посмотрите раздел Внутреннее устройство Weblate.
Рекомендации по написанию кода#
Любой код для Weblate’а должен писаться с оглядкой на Принципы «безопасности по проектированию» (Security by Design).
Весь код должен сопровождаться документацией, поясняющей его работу. Не забывайте документировать методы, сложные блоки кода и функционал, доступный пользователям.
Любой новый код должен использовать подсказки типа PEP 484. Мы пока не проверяем это в нашем CI, поскольку существующий код их еще не включает.
Стандарт и стиль программирования#
Код должен соответствовать рекомендациям по кодированию PEP-8 и должен быть отформатирован с использованием инструмента форматирования кода black.
Для проверки качества кода можно использовать flake8, рекомендуемые плагины перечислены в :file:``.pre-commit-config.yaml`, а их настройки находятся в setup.cfg
.
Самый простой способ реализовать все это — установить pre-commit. Репозиторий содержит конфигурацию для проверки работоспособности зафиксированных файлов. После установки (он уже включен в файл «requirements-lint.txt») включите его, запустив «pre-commit install» при оформлении заказа в Weblate. Таким образом, все ваши изменения будут автоматически проверены.
Также вы можете запустить эту проверку вручную, чтобы проверить все файлы, запустите:
pre-commit run --all