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

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

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

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

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

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

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

Git commits should follow Conventional Commits specification.

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

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

pip install -e '.[test,lint]'

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

py.test

Дивись також

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

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

У коді має бути виконано вимоги щодо коду PEP-8, його має бути форматовано засобом форматування ruff.

Для перевірки якості коду ви можете скористатися ruff — її налаштування зберігаються у pyproject.toml.

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

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

pre-commit run --all

Дивись також

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