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:

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

Weblate kaynak kodları