Участь у розробці модулів Weblate#

Окрім основного сховища, Weblate складається з декількох модулів Python. У всіх цих модулях використано однакову структуру, а ця документація стосується їх усіх.

Це, наприклад, стосується таки компонентів:

Настанови щодо програмного коду#

Будь-який код для Weblate має бути написано із використанням Security by Design Principles (принципів безпеки за компонуванням).

Будь-який програмний код має супроводжуватися документацією, яка пояснює його роботу. Не забувайте документувати методи, складні блоки коду або видимі користувачам можливості.

У коді має бути використано підказки щодо типів з PEP 484. Ми ще не перевіряємо їх у системі неперервної інтеграції, оскільки у наявному коді їх ще немає.

Виконання перевірок#

Перевірки буде виконано за допомогою py.test. Спершу, вам слід встановити обов’язкові складники для текстування:

pip install -r requirements-test.txt

Далі, ви можете виконати комплекс перевірок для локальної копії сховища:

py.test

Дивись також

Інтеграція із системою неперервної інтеграції дуже подібна до Комплекс тестування Weblate і неперервна інтеграція.

Стандарт програмування та шліфування коду#

The code should follow PEP-8 coding guidelines and should be formatted using ruff code formatter.

To check the code quality, you can use ruff, its configuration is stored in pyproject.toml.

Найпростішим підходом для запровадження примусового виконання усіх умов є встановлення сховища pre-commit. Weblate, у якому містяться налаштування для перевірки внесених файлів на відповідність умовам. Після встановлення сховища (його вже включено у requirements-lint.txt) увімкніть його за допомогою команди pre-commit install у клоні сховища Weblate. У такий спосіб ви зможете автоматично перевіряти усі внесені вами зміни.

Ви також можете запустити перевірку вручну. Щоб перевірити усі файли:

pre-commit run --all

Дивись також

Початковий код Weblate