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:
translation-finder, depodaki çevrilebilir dosyaları keşfetmek için kullanılır
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 CI 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 -r requirements-test.txt
Daha sonra depo checkout sayfasında sınama paketini yürütebilirsiniz:
py.test
Ayrıca bakınız
CI 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 black kod biçimlendiricisi ile biçimlendirilmelidir.
Kod kalitesini denetlemek için flake8 kullanabilirsiniz. Önerilen eklentiler
.pre-commit-config.yaml içinde bulunur ve geçerli yapılandırması
setup.cfg dosyasındadır.
Tüm bunları dayatmak için en kolay yaklaşım pre-commit kurmaktır. Depoda, gönderilen dosyaların düzgün olduğunu doğrulayacak bir yapılandırma bulunur. Kurulumdan sonra (
requirements-lint.txt içinde bulunur) Weblate checkout sırasında
pre-commit install komutunu çalıştırarak açın. Böylece tüm değişiklikleriniz kendiliğinden denetlenir.
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