Contributing to Weblate modules
Além do repositório principal, o Weblate consiste em vários módulos Python. Todos estes seguem a mesma estrutura e esta documentação abrange todos eles.
For example, this covers:
wlc, biblioteca Python cliente, veja Cliente Weblate
translation-finder, usado para descobrir ficheiros traduzíveis no repositório
language-data, language definitions for Weblate, see Definições de idioma
Coding guidelines
Qualquer código para Weblate deve ser escrito com Princípios de Segurança por Design (inglês) em mente.
Qualquer código deve vir com documentação explicando o comportamento. Não se esqueça de documentar métodos, blocos de código complexos ou recursos visíveis ao utilizador.
Qualquer novo código deve utilizar dicas de tipo PEP 484. Ainda não estamos verificando isso em nosso CI, pois o código existente ainda não os inclui.
Running tests
Os testes são executados usando py.test. Primeiro precisa instalar os requisitos de teste:
pip install -r requirements-test.txt
Pode então executar o testsuite no checkout do repositório:
py.test
Veja também
A integração do CI é muito semelhante a Conjunto de testes e integração contínua do Weblate.
Padrão de codificação e linting do código
O código deve seguir as diretrizes de codificação PEP-8 e deve ser formatado a usar o formatador de código black.
Para verificar a qualidade do código, pode usar o :programa:`flake8`, os plugins recomendados estão listados em .pre-commit-config.yaml
e a configuração dele está em setup.cfg
.
The easiest approach to enforce all this is to install pre-commit. The
repository contains configuration for it to verify the committed files are sane.
After installing it (it is already included in the
requirements-lint.txt
) turn it on by running pre-commit install
in
Weblate checkout. This way all your changes will be automatically checked.
Também pode acionar a verificação manualmente, para verificar todos os ficheiros execute:
pre-commit run --all
Veja também