Weblate モジュールへの貢献

メインのリポジトリに加えて、Weblate は複数の Python モジュールで構成されています。これはすべて同じ構造をしており、このドキュメントではすべてを扱います。

ドキュメントに含む範囲:

コーディングのガイドライン

Weblate のコードはすべて、 セキュリティ設計原則 を念頭に記述してください。

すべてのコードには、動作を説明するドキュメントが付属しています。メソッド、複雑なコードブロック、またはユーザーに表示される機能は文書化することを忘れないでください。

新しいコードでは、PEP 484 型のヒントを使用してください。既存のコードにはまだ含まれていないため、CI ではまだ調査できていません。

テストの実行

テストは、py.test を使用して実行します。まず、テストに必要なパッケージをインストール:

pip install -r requirements-test.txt

そのあと、チェックアウトしたリポジトリでテストスイートを実行:

py.test

参考

CI 統合は、Weblate テストスイートと継続的な統合 と非常によく似ています。

コーディング規約と低品質コードの検出

コードは PEP-8 コーディング規約に従い、black コード整形ツールを使用して書式設定してください。

コードの品質を検査するには flake 8 を使用します。推奨プラグインの一覧は .pre-commit-config.yaml にあり、設定は:file:`setup.cfg`にあります。

これを実行する最も簡単な方法は、pre-commit をインストールすることです。リポジトリには、コミットされたファイルが正常であることを確認するための設定が含まれています。インストール後(すでに requirements-lint.txt に含まれています)、Weblate のチェックアウトで pre-commit install を実行して有効にします。これにより、すべての変更が自動的に検査されます。

手動で検査を実行し、すべてのファイルの実行を検査する方法:

pre-commit run --all