Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/django/core/checks/translation.py: 88%
27 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1from django.conf import settings
2from django.utils.translation import get_supported_language_variant
3from django.utils.translation.trans_real import language_code_re
5from . import Error, Tags, register
7E001 = Error(
8 "You have provided an invalid value for the LANGUAGE_CODE setting: {!r}.",
9 id="translation.E001",
10)
12E002 = Error(
13 "You have provided an invalid language code in the LANGUAGES setting: {!r}.",
14 id="translation.E002",
15)
17E003 = Error(
18 "You have provided an invalid language code in the LANGUAGES_BIDI setting: {!r}.",
19 id="translation.E003",
20)
22E004 = Error(
23 "You have provided a value for the LANGUAGE_CODE setting that is not in "
24 "the LANGUAGES setting.",
25 id="translation.E004",
26)
29@register(Tags.translation)
30def check_setting_language_code(app_configs, **kwargs):
31 """Error if LANGUAGE_CODE setting is invalid."""
32 tag = settings.LANGUAGE_CODE
33 if not isinstance(tag, str) or not language_code_re.match(tag): 33 ↛ 34line 33 didn't jump to line 34, because the condition on line 33 was never true
34 return [Error(E001.msg.format(tag), id=E001.id)]
35 return []
38@register(Tags.translation)
39def check_setting_languages(app_configs, **kwargs):
40 """Error if LANGUAGES setting is invalid."""
41 return [
42 Error(E002.msg.format(tag), id=E002.id)
43 for tag, _ in settings.LANGUAGES
44 if not isinstance(tag, str) or not language_code_re.match(tag)
45 ]
48@register(Tags.translation)
49def check_setting_languages_bidi(app_configs, **kwargs):
50 """Error if LANGUAGES_BIDI setting is invalid."""
51 return [
52 Error(E003.msg.format(tag), id=E003.id)
53 for tag in settings.LANGUAGES_BIDI
54 if not isinstance(tag, str) or not language_code_re.match(tag)
55 ]
58@register(Tags.translation)
59def check_language_settings_consistent(app_configs, **kwargs):
60 """Error if language settings are not consistent with each other."""
61 try:
62 get_supported_language_variant(settings.LANGUAGE_CODE)
63 except LookupError:
64 return [E004]
65 else:
66 return []