为 Weblate 模块作贡献

除了主仓库之外Weblate 还包含几个 Python 模块,所有这些都遵循相同的结构本文档涵盖了所有这些。

例如,这涵盖了:

代码编写准则

在为 Weblate 编写任何代码时都应该考虑到 通过设计保证安全原则

任何代码都应附带解释行为的文档。不要忘记记录方法、复杂的代码块或用户可见的功能。

任何新代码都应使用 PEP 484 类型提示。我们尚未在 CI 中检查此项,因为现有代码尚未包含它们。

运行测试

测试使用:program:`py.test`执行,首先你需要安装测试需求:

pip install -r requirements-test.txt

然后您可以在仓库签出中执行测试套件:

py.test

参见

CI 集成与 Weblate 测试套件与持续集成 非常相似。

编码标准和代码检查

代码应该遵循 PEP-8 代码编写准则,并且应该使用 black 代码格式化程序进行代码格式化。

为了检查代码质量,可以使用 flake8,推荐的插件列在 .pre-commit-config.yaml 中,而其配置放置在 setup.cfg 中。

将所有这些强制的最简单的方法是安装 pre-commit。仓库为此包含了配置,来确定提交的文件是正常的。安装后(他已经包括在 requirements-lint.txt 中了)通过在 Weblate 的付款台运行 pre-commit install 来将它打开。通过这种方法,所有更改都将被自动检查。

还能够手动触发检查,来检查所有文件的运行:

pre-commit run --all