Coverage for app/venv/lib/python3.14/site-packages/weblate/fonts/forms.py: 85%

20 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 07:15 +0000

1# Copyright © Michal Čihař <michal@weblate.org> 

2# 

3# SPDX-License-Identifier: GPL-3.0-or-later 

4 

5from __future__ import annotations 

6 

7from typing import cast 

8 

9from django import forms 

10 

11from weblate.fonts.models import Font, FontGroup, FontOverride 

12 

13 

14class FontForm(forms.ModelForm): 

15 class Meta: 

16 model = Font 

17 fields = ("font",) 

18 

19 

20class FontGroupForm(forms.ModelForm): 

21 class Meta: 

22 model = FontGroup 

23 fields = ("name", "font") 

24 

25 def __init__(self, data=None, project=None, **kwargs) -> None: 

26 super().__init__(data, **kwargs) 

27 field = cast("forms.ModelChoiceField", self.fields["font"]) 

28 field.queryset = field.queryset.filter(project=project) # type: ignore[union-attr] 

29 

30 

31class FontOverrideForm(forms.ModelForm): 

32 class Meta: 

33 model = FontOverride 

34 fields = ("language", "font")