Weblate modüllerine katkıda bulunmak¶
Ana deponun yanında, Weblate birkaç Python modülünden oluşur. Bütün bunlar aynı yapıyı izler ve bu belgelerde tümü kapsanır.
Örneğin, bu şunları kapsar:
wlc, Python istemci kitaplığı, Weblate istemcisi bölümüne bakın
translation-finder, depodaki çevrilebilir dosyaları keşfetmek için kullanılır
language-data, Weblate dil tanımları, Dil tanımları bölümüne bakın
Kodlama rehberi¶
Weblate için geliştirilen kodlar Tasarım ilkelerine uygun güvenlik göz önünde bulundurularak yazılmalıdır.
Tüm kodlar, kodun davranışını açıklayan belgelerle birlikte iletilmelidir. Yöntemler, karmaşık kod blokları veya kullanıcı tarafından görülebilen özellikleri belgelemeyi unutmayın.
Herhangi bir yeni kod PEP 484 türünde ipuçları kullanmalıdır. Var olan kod henüz bunları içermediğinden bunu henüz sürekli bütünleştirme ile denetlemiyoruz.
Sınamaları yürütmek¶
Sınamalar py.test kullanılarak yürütülür. Öncelikle sınama gereksinimlerini kurmanız gerekir:
pip install -e '.[test,lint]'
Daha sonra depo checkout sayfasında sınama paketini yürütebilirsiniz:
py.test
Ayrıca bakınız
Sürekli bütünleştirme bütünleştirmesi Weblate sınama paketi ve sürekli bütünleştirme ile çok benzer.
Kodlama standardı ve kodu temizlemek¶
Kod, PEP-8 kodlama yönergelerine uymalı ve ruff kod biçimlendiricisi ile biçimlendirilmelidir.
Kod kalitesini denetlemek için ruff kullanabilirsiniz. Yapılandırması pyproject.toml
dosyasındadır.
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.
Denetimi el ile de başlatabilirsiniz. Tüm dosyaları denetlemek için şunu yürütün:
pre-commit run --all
Ayrıca bakınız