From 7321810e780abb0fdfa498bd00d519a031313e89 Mon Sep 17 00:00:00 2001 From: Simon Hanna Date: Mon, 27 Aug 2018 16:16:26 +0200 Subject: [PATCH] Improve the regex, removing the displayed warning --- openlp/core/common/i18n.py | 5 +++-- tests/functional/openlp_core/common/test_i18n.py | 11 ++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/openlp/core/common/i18n.py b/openlp/core/common/i18n.py index 77b47073d..56e6be724 100644 --- a/openlp/core/common/i18n.py +++ b/openlp/core/common/i18n.py @@ -271,9 +271,10 @@ class LanguageManager(object): language = Settings().value('core/language') language = str(language) log.info("Language file: '{language}' Loaded from conf file".format(language=language)) - if re.match(r'[[].*[]]', language): + m = re.match(r'\[(.*)\]', language) + if m: LanguageManager.auto_language = True - language = re.sub(r'[\[\]]', '', language) + language = m.group(1) return language @staticmethod diff --git a/tests/functional/openlp_core/common/test_i18n.py b/tests/functional/openlp_core/common/test_i18n.py index 16d321f4f..7dadcb976 100644 --- a/tests/functional/openlp_core/common/test_i18n.py +++ b/tests/functional/openlp_core/common/test_i18n.py @@ -27,7 +27,8 @@ from unittest.mock import MagicMock, patch from openlp.core.common import is_macosx from openlp.core.common.i18n import LANGUAGES, Language, UiStrings, get_language, get_locale_key, get_natural_key, \ - translate + translate, LanguageManager +from openlp.core.common.settings import Settings def test_languages_type(): @@ -158,6 +159,14 @@ def test_check_same_instance(): assert first_instance is second_instance, 'Two UiStrings objects should be the same instance' +def test_get_language_from_settings(): + assert LanguageManager.get_language() == 'en' + +def test_get_language_from_settings_returns_unchanged_if_unknown_format(): + Settings().setValue('core/language', '(foobar)') + assert LanguageManager.get_language() == '(foobar)' + + def test_translate(): """ Test the translate() function