Пример #1
0
def test_get_language_invalid():
    """
    Test get_language() when supplied with a string which is not a valid language name or code.
    """

    # GIVEN: A language code
    # WHEN: Calling get_language with it
    language = get_language('qwerty')

    # THEN: None should be returned
    assert language is None
Пример #2
0
def test_get_language_code():
    """
    Test get_language() when supplied with a language code.
    """
    # GIVEN: A language code in capitals
    # WHEN: Calling get_language with it
    language = get_language('IA')

    # THEN: The Language found using that code should be returned
    assert isinstance(language, Language)
    assert language.id == 51
    assert language.name == 'Interlingua'
    assert language.code == 'ia'
Пример #3
0
def test_get_language_name():
    """
    Test get_language() when supplied with a language name.
    """

    # GIVEN: A language name, in capitals
    # WHEN: Calling get_language with it
    language = get_language('YORUBA')

    # THEN: The Language found using that name should be returned
    assert isinstance(language, Language)
    assert language.id == 137
    assert language.name == 'Yoruba'
    assert language.code == 'yo'
Пример #4
0
    def get_language_id(self, file_language=None, bible_name=None):
        """
        Get the language_id for the language of the bible. Fallback to user input if we cannot do this pragmatically.

        :param file_language: Language of the bible. Possibly retrieved from the file being imported. Str
        :param bible_name: Name of the bible to display on the get_language dialog. Str
        :return: The id of a language Int or None
        """
        language_id = None
        if file_language:
            language = get_language(file_language)
            if language and language.id:
                language_id = language.id
        if not language_id:
            # The language couldn't be detected, ask the user
            language_id = self.get_language(bible_name)
        if not language_id:
            # User cancelled get_language dialog
            self.log_error(
                'Language detection failed when importing from "{name}". User aborted language selection.'
                .format(name=bible_name))
            return None
        self.save_meta('language_id', language_id)
        return language_id