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

1from django.conf import settings 

2from django.utils.translation import get_supported_language_variant 

3from django.utils.translation.trans_real import language_code_re 

4 

5from . import Error, Tags, register 

6 

7E001 = Error( 

8 "You have provided an invalid value for the LANGUAGE_CODE setting: {!r}.", 

9 id="translation.E001", 

10) 

11 

12E002 = Error( 

13 "You have provided an invalid language code in the LANGUAGES setting: {!r}.", 

14 id="translation.E002", 

15) 

16 

17E003 = Error( 

18 "You have provided an invalid language code in the LANGUAGES_BIDI setting: {!r}.", 

19 id="translation.E003", 

20) 

21 

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) 

27 

28 

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 [] 

36 

37 

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 ] 

46 

47 

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 ] 

56 

57 

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 []