Weblate モジュールへの貢献¶
メインのリポジトリに加えて、Weblate は複数の Python モジュールで構成されています。これらはすべて同じ構造をしており、このドキュメントの内容は全てに当てはまります。
例えば、次のものが対象です。
wlc 、Python クライアント ライブラリ、参照: Weblate クライアント
translation-finder 、リポジトリ内の翻訳可能なファイルを検出するために使用
language-data 、Weblate の言語定義。参照: 言語の定義
コーディングのガイドライン¶
Weblate のコードはすべて、 セキュリティ設計原則 を念頭に記述してください。
すべてのコードには、動作を説明するドキュメントが付属しています。メソッド、複雑なコードブロック、またはユーザーに表示される機能は文書化することを忘れないでください。
新しいコードでは、PEP 484 型のヒントを使用してください。既存のコードにはまだ含まれていないため、CI ではまだ検査できていません。
テストの実行¶
テストは、py.test を使用して実行します。まず、テストに必要なパッケージをインストール:
pip install -e '.[test,lint]'
そのあと、チェックアウトしたリポジトリでテストスイートを実行:
py.test
参考
CI 統合は、Weblate テストスイートと継続的な連携 と非常によく似ています。
コーディング規約と低品質コードの検出¶
コードは PEP-8 コーディング規約に従い、ruff コード整形ツールを使用してフォーマットしてください。
コードの品質を検査するには、ruff を使用できます。その設定は pyproject.toml
に保存されています。
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
pyproject.toml
) turn it on by running pre-commit install
in
Weblate checkout. This way all your changes will be automatically checked.
手動で検査を実行し、すべてのファイルを検査する方法:
pre-commit run --all