forked from openlp/openlp
Fixes bug #917164. A start on refactoring bibles
This commit is contained in:
parent
291c9c8902
commit
60767c8ce4
201
openlp/core/common/languages.py
Normal file
201
openlp/core/common/languages.py
Normal file
@ -0,0 +1,201 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2016 OpenLP Developers #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
# Software Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`languages` module provides a list of language names with utility functions.
|
||||
"""
|
||||
from collections import namedtuple
|
||||
|
||||
from openlp.core.common import translate
|
||||
|
||||
|
||||
Language = namedtuple('Language', ['id', 'name', 'code'])
|
||||
languages = sorted([
|
||||
Language(1, translate('common.languages', '(Afan) Oromo', 'Language code: om'), 'om'),
|
||||
Language(2, translate('common.languages', 'Abkhazian', 'Language code: ab'), 'ab'),
|
||||
Language(3, translate('common.languages', 'Afar', 'Language code: aa'), 'aa'),
|
||||
Language(4, translate('common.languages', 'Afrikaans', 'Language code: af'), 'af'),
|
||||
Language(5, translate('common.languages', 'Albanian', 'Language code: sq'), 'sq'),
|
||||
Language(6, translate('common.languages', 'Amharic', 'Language code: am'), 'am'),
|
||||
Language(140, translate('common.languages', 'Amuzgo', 'Language code: amu'), 'amu'),
|
||||
Language(152, translate('common.languages', 'Ancient Greek', 'Language code: grc'), 'grc'),
|
||||
Language(7, translate('common.languages', 'Arabic', 'Language code: ar'), 'ar'),
|
||||
Language(8, translate('common.languages', 'Armenian', 'Language code: hy'), 'hy'),
|
||||
Language(9, translate('common.languages', 'Assamese', 'Language code: as'), 'as'),
|
||||
Language(10, translate('common.languages', 'Aymara', 'Language code: ay'), 'ay'),
|
||||
Language(11, translate('common.languages', 'Azerbaijani', 'Language code: az'), 'az'),
|
||||
Language(12, translate('common.languages', 'Bashkir', 'Language code: ba'), 'ba'),
|
||||
Language(13, translate('common.languages', 'Basque', 'Language code: eu'), 'eu'),
|
||||
Language(14, translate('common.languages', 'Bengali', 'Language code: bn'), 'bn'),
|
||||
Language(15, translate('common.languages', 'Bhutani', 'Language code: dz'), 'dz'),
|
||||
Language(16, translate('common.languages', 'Bihari', 'Language code: bh'), 'bh'),
|
||||
Language(17, translate('common.languages', 'Bislama', 'Language code: bi'), 'bi'),
|
||||
Language(18, translate('common.languages', 'Breton', 'Language code: br'), 'br'),
|
||||
Language(19, translate('common.languages', 'Bulgarian', 'Language code: bg'), 'bg'),
|
||||
Language(20, translate('common.languages', 'Burmese', 'Language code: my'), 'my'),
|
||||
Language(21, translate('common.languages', 'Byelorussian', 'Language code: be'), 'be'),
|
||||
Language(142, translate('common.languages', 'Cakchiquel', 'Language code: cak'), 'cak'),
|
||||
Language(22, translate('common.languages', 'Cambodian', 'Language code: km'), 'km'),
|
||||
Language(23, translate('common.languages', 'Catalan', 'Language code: ca'), 'ca'),
|
||||
Language(24, translate('common.languages', 'Chinese', 'Language code: zh'), 'zh'),
|
||||
Language(141, translate('common.languages', 'Comaltepec Chinantec', 'Language code: cco'), 'cco'),
|
||||
Language(25, translate('common.languages', 'Corsican', 'Language code: co'), 'co'),
|
||||
Language(26, translate('common.languages', 'Croatian', 'Language code: hr'), 'hr'),
|
||||
Language(27, translate('common.languages', 'Czech', 'Language code: cs'), 'cs'),
|
||||
Language(28, translate('common.languages', 'Danish', 'Language code: da'), 'da'),
|
||||
Language(29, translate('common.languages', 'Dutch', 'Language code: nl'), 'nl'),
|
||||
Language(30, translate('common.languages', 'English', 'Language code: en'), 'en'),
|
||||
Language(31, translate('common.languages', 'Esperanto', 'Language code: eo'), 'eo'),
|
||||
Language(32, translate('common.languages', 'Estonian', 'Language code: et'), 'et'),
|
||||
Language(33, translate('common.languages', 'Faeroese', 'Language code: fo'), 'fo'),
|
||||
Language(34, translate('common.languages', 'Fiji', 'Language code: fj'), 'fj'),
|
||||
Language(35, translate('common.languages', 'Finnish', 'Language code: fi'), 'fi'),
|
||||
Language(36, translate('common.languages', 'French', 'Language code: fr'), 'fr'),
|
||||
Language(37, translate('common.languages', 'Frisian', 'Language code: fy'), 'fy'),
|
||||
Language(38, translate('common.languages', 'Galician', 'Language code: gl'), 'gl'),
|
||||
Language(39, translate('common.languages', 'Georgian', 'Language code: ka'), 'ka'),
|
||||
Language(40, translate('common.languages', 'German', 'Language code: de'), 'de'),
|
||||
Language(41, translate('common.languages', 'Greek', 'Language code: el'), 'el'),
|
||||
Language(42, translate('common.languages', 'Greenlandic', 'Language code: kl'), 'kl'),
|
||||
Language(43, translate('common.languages', 'Guarani', 'Language code: gn'), 'gn'),
|
||||
Language(44, translate('common.languages', 'Gujarati', 'Language code: gu'), 'gu'),
|
||||
Language(143, translate('common.languages', 'Haitian Creole', 'Language code: ht'), 'ht'),
|
||||
Language(45, translate('common.languages', 'Hausa', 'Language code: ha'), 'ha'),
|
||||
Language(46, translate('common.languages', 'Hebrew (former iw)', 'Language code: he'), 'he'),
|
||||
Language(144, translate('common.languages', 'Hiligaynon', 'Language code: hil'), 'hil'),
|
||||
Language(47, translate('common.languages', 'Hindi', 'Language code: hi'), 'hi'),
|
||||
Language(48, translate('common.languages', 'Hungarian', 'Language code: hu'), 'hu'),
|
||||
Language(49, translate('common.languages', 'Icelandic', 'Language code: is'), 'is'),
|
||||
Language(50, translate('common.languages', 'Indonesian (former in)', 'Language code: id'), 'id'),
|
||||
Language(51, translate('common.languages', 'Interlingua', 'Language code: ia'), 'ia'),
|
||||
Language(52, translate('common.languages', 'Interlingue', 'Language code: ie'), 'ie'),
|
||||
Language(54, translate('common.languages', 'Inuktitut (Eskimo)', 'Language code: iu'), 'iu'),
|
||||
Language(53, translate('common.languages', 'Inupiak', 'Language code: ik'), 'ik'),
|
||||
Language(55, translate('common.languages', 'Irish', 'Language code: ga'), 'ga'),
|
||||
Language(56, translate('common.languages', 'Italian', 'Language code: it'), 'it'),
|
||||
Language(145, translate('common.languages', 'Jakalteko', 'Language code: jac'), 'jac'),
|
||||
Language(57, translate('common.languages', 'Japanese', 'Language code: ja'), 'ja'),
|
||||
Language(58, translate('common.languages', 'Javanese', 'Language code: jw'), 'jw'),
|
||||
Language(150, translate('common.languages', 'K\'iche\'', 'Language code: quc'), 'quc'),
|
||||
Language(59, translate('common.languages', 'Kannada', 'Language code: kn'), 'kn'),
|
||||
Language(60, translate('common.languages', 'Kashmiri', 'Language code: ks'), 'ks'),
|
||||
Language(61, translate('common.languages', 'Kazakh', 'Language code: kk'), 'kk'),
|
||||
Language(146, translate('common.languages', 'Kekchí ', 'Language code: kek'), 'kek'),
|
||||
Language(62, translate('common.languages', 'Kinyarwanda', 'Language code: rw'), 'rw'),
|
||||
Language(63, translate('common.languages', 'Kirghiz', 'Language code: ky'), 'ky'),
|
||||
Language(64, translate('common.languages', 'Kirundi', 'Language code: rn'), 'rn'),
|
||||
Language(65, translate('common.languages', 'Korean', 'Language code: ko'), 'ko'),
|
||||
Language(66, translate('common.languages', 'Kurdish', 'Language code: ku'), 'ku'),
|
||||
Language(67, translate('common.languages', 'Laothian', 'Language code: lo'), 'lo'),
|
||||
Language(68, translate('common.languages', 'Latin', 'Language code: la'), 'la'),
|
||||
Language(69, translate('common.languages', 'Latvian, Lettish', 'Language code: lv'), 'lv'),
|
||||
Language(70, translate('common.languages', 'Lingala', 'Language code: ln'), 'ln'),
|
||||
Language(71, translate('common.languages', 'Lithuanian', 'Language code: lt'), 'lt'),
|
||||
Language(72, translate('common.languages', 'Macedonian', 'Language code: mk'), 'mk'),
|
||||
Language(73, translate('common.languages', 'Malagasy', 'Language code: mg'), 'mg'),
|
||||
Language(74, translate('common.languages', 'Malay', 'Language code: ms'), 'ms'),
|
||||
Language(75, translate('common.languages', 'Malayalam', 'Language code: ml'), 'ml'),
|
||||
Language(76, translate('common.languages', 'Maltese', 'Language code: mt'), 'mt'),
|
||||
Language(148, translate('common.languages', 'Mam', 'Language code: mam'), 'mam'),
|
||||
Language(77, translate('common.languages', 'Maori', 'Language code: mi'), 'mi'),
|
||||
Language(147, translate('common.languages', 'Maori', 'Language code: mri'), 'mri'),
|
||||
Language(78, translate('common.languages', 'Marathi', 'Language code: mr'), 'mr'),
|
||||
Language(79, translate('common.languages', 'Moldavian', 'Language code: mo'), 'mo'),
|
||||
Language(80, translate('common.languages', 'Mongolian', 'Language code: mn'), 'mn'),
|
||||
Language(149, translate('common.languages', 'Nahuatl', 'Language code: nah'), 'nah'),
|
||||
Language(81, translate('common.languages', 'Nauru', 'Language code: na'), 'na'),
|
||||
Language(82, translate('common.languages', 'Nepali', 'Language code: ne'), 'ne'),
|
||||
Language(83, translate('common.languages', 'Norwegian', 'Language code: no'), 'no'),
|
||||
Language(84, translate('common.languages', 'Occitan', 'Language code: oc'), 'oc'),
|
||||
Language(85, translate('common.languages', 'Oriya', 'Language code: or'), 'or'),
|
||||
Language(86, translate('common.languages', 'Pashto, Pushto', 'Language code: ps'), 'ps'),
|
||||
Language(87, translate('common.languages', 'Persian', 'Language code: fa'), 'fa'),
|
||||
Language(151, translate('common.languages', 'Plautdietsch', 'Language code: pdt'), 'pdt'),
|
||||
Language(88, translate('common.languages', 'Polish', 'Language code: pl'), 'pl'),
|
||||
Language(89, translate('common.languages', 'Portuguese', 'Language code: pt'), 'pt'),
|
||||
Language(90, translate('common.languages', 'Punjabi', 'Language code: pa'), 'pa'),
|
||||
Language(91, translate('common.languages', 'Quechua', 'Language code: qu'), 'qu'),
|
||||
Language(92, translate('common.languages', 'Rhaeto-Romance', 'Language code: rm'), 'rm'),
|
||||
Language(93, translate('common.languages', 'Romanian', 'Language code: ro'), 'ro'),
|
||||
Language(94, translate('common.languages', 'Russian', 'Language code: ru'), 'ru'),
|
||||
Language(95, translate('common.languages', 'Samoan', 'Language code: sm'), 'sm'),
|
||||
Language(96, translate('common.languages', 'Sangro', 'Language code: sg'), 'sg'),
|
||||
Language(97, translate('common.languages', 'Sanskrit', 'Language code: sa'), 'sa'),
|
||||
Language(98, translate('common.languages', 'Scots Gaelic', 'Language code: gd'), 'gd'),
|
||||
Language(99, translate('common.languages', 'Serbian', 'Language code: sr'), 'sr'),
|
||||
Language(100, translate('common.languages', 'Serbo-Croatian', 'Language code: sh'), 'sh'),
|
||||
Language(101, translate('common.languages', 'Sesotho', 'Language code: st'), 'st'),
|
||||
Language(102, translate('common.languages', 'Setswana', 'Language code: tn'), 'tn'),
|
||||
Language(103, translate('common.languages', 'Shona', 'Language code: sn'), 'sn'),
|
||||
Language(104, translate('common.languages', 'Sindhi', 'Language code: sd'), 'sd'),
|
||||
Language(105, translate('common.languages', 'Singhalese', 'Language code: si'), 'si'),
|
||||
Language(106, translate('common.languages', 'Siswati', 'Language code: ss'), 'ss'),
|
||||
Language(107, translate('common.languages', 'Slovak', 'Language code: sk'), 'sk'),
|
||||
Language(108, translate('common.languages', 'Slovenian', 'Language code: sl'), 'sl'),
|
||||
Language(109, translate('common.languages', 'Somali', 'Language code: so'), 'so'),
|
||||
Language(110, translate('common.languages', 'Spanish', 'Language code: es'), 'es'),
|
||||
Language(111, translate('common.languages', 'Sudanese', 'Language code: su'), 'su'),
|
||||
Language(112, translate('common.languages', 'Swahili', 'Language code: sw'), 'sw'),
|
||||
Language(113, translate('common.languages', 'Swedish', 'Language code: sv'), 'sv'),
|
||||
Language(114, translate('common.languages', 'Tagalog', 'Language code: tl'), 'tl'),
|
||||
Language(115, translate('common.languages', 'Tajik', 'Language code: tg'), 'tg'),
|
||||
Language(116, translate('common.languages', 'Tamil', 'Language code: ta'), 'ta'),
|
||||
Language(117, translate('common.languages', 'Tatar', 'Language code: tt'), 'tt'),
|
||||
Language(118, translate('common.languages', 'Tegulu', 'Language code: te'), 'te'),
|
||||
Language(119, translate('common.languages', 'Thai', 'Language code: th'), 'th'),
|
||||
Language(120, translate('common.languages', 'Tibetan', 'Language code: bo'), 'bo'),
|
||||
Language(121, translate('common.languages', 'Tigrinya', 'Language code: ti'), 'ti'),
|
||||
Language(122, translate('common.languages', 'Tonga', 'Language code: to'), 'to'),
|
||||
Language(123, translate('common.languages', 'Tsonga', 'Language code: ts'), 'ts'),
|
||||
Language(124, translate('common.languages', 'Turkish', 'Language code: tr'), 'tr'),
|
||||
Language(125, translate('common.languages', 'Turkmen', 'Language code: tk'), 'tk'),
|
||||
Language(126, translate('common.languages', 'Twi', 'Language code: tw'), 'tw'),
|
||||
Language(127, translate('common.languages', 'Uigur', 'Language code: ug'), 'ug'),
|
||||
Language(128, translate('common.languages', 'Ukrainian', 'Language code: uk'), 'uk'),
|
||||
Language(129, translate('common.languages', 'Urdu', 'Language code: ur'), 'ur'),
|
||||
Language(153, translate('common.languages', 'Uspanteco', 'Language code: usp'), 'usp'),
|
||||
Language(130, translate('common.languages', 'Uzbek', 'Language code: uz'), 'uz'),
|
||||
Language(131, translate('common.languages', 'Vietnamese', 'Language code: vi'), 'vi'),
|
||||
Language(132, translate('common.languages', 'Volapuk', 'Language code: vo'), 'vo'),
|
||||
Language(133, translate('common.languages', 'Welch', 'Language code: cy'), 'cy'),
|
||||
Language(134, translate('common.languages', 'Wolof', 'Language code: wo'), 'wo'),
|
||||
Language(135, translate('common.languages', 'Xhosa', 'Language code: xh'), 'xh'),
|
||||
Language(136, translate('common.languages', 'Yiddish (former ji)', 'Language code: yi'), 'yi'),
|
||||
Language(137, translate('common.languages', 'Yoruba', 'Language code: yo'), 'yo'),
|
||||
Language(138, translate('common.languages', 'Zhuang', 'Language code: za'), 'za'),
|
||||
Language(139, translate('common.languages', 'Zulu', 'Language code: zu'), 'zu')
|
||||
], key=lambda language: language.name)
|
||||
|
||||
|
||||
def get_language(name):
|
||||
"""
|
||||
Find the language by its name or code.
|
||||
|
||||
:param name: The name or abbreviation of the language.
|
||||
:return: The first match as a Language namedtuple or None
|
||||
"""
|
||||
if name:
|
||||
name_lower = name.lower()
|
||||
name_title = name_lower[:1].upper() + name_lower[1:]
|
||||
for language in languages:
|
||||
if language.name == name_title or language.code == name_lower:
|
||||
return language
|
||||
return None
|
@ -29,9 +29,9 @@ from PyQt5.QtWidgets import QDialog
|
||||
from PyQt5 import QtCore
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.common.languages import languages
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.plugins.bibles.forms.languagedialog import Ui_LanguageDialog
|
||||
from openlp.plugins.bibles.lib.db import BiblesResourcesDB
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@ -51,11 +51,11 @@ class LanguageForm(QDialog, Ui_LanguageDialog):
|
||||
self.setupUi(self)
|
||||
|
||||
def exec(self, bible_name):
|
||||
self.language_combo_box.addItem('')
|
||||
if bible_name:
|
||||
self.bible_label.setText(str(bible_name))
|
||||
items = BiblesResourcesDB.get_languages()
|
||||
self.language_combo_box.addItems([item['name'] for item in items])
|
||||
self.bible_label.setText(bible_name)
|
||||
self.language_combo_box.addItem('')
|
||||
for language in languages:
|
||||
self.language_combo_box.addItem(language.name, language.id)
|
||||
return QDialog.exec(self)
|
||||
|
||||
def accept(self):
|
||||
|
@ -128,6 +128,12 @@ class BibleDB(Manager, RegistryProperties):
|
||||
The name of the database. This is also used as the file name for SQLite databases.
|
||||
"""
|
||||
log.info('BibleDB loaded')
|
||||
self._setup(parent, **kwargs)
|
||||
|
||||
def _setup(self, parent, **kwargs):
|
||||
"""
|
||||
Run some initial setup. This method is separate from __init__ in order to mock it out in tests.
|
||||
"""
|
||||
self.bible_plugin = parent
|
||||
self.session = None
|
||||
if 'path' not in kwargs:
|
||||
@ -465,14 +471,13 @@ class BibleDB(Manager, RegistryProperties):
|
||||
"""
|
||||
log.debug('BibleDB.get_language()')
|
||||
from openlp.plugins.bibles.forms import LanguageForm
|
||||
language = None
|
||||
language_id = None
|
||||
language_form = LanguageForm(self.wizard)
|
||||
if language_form.exec(bible_name):
|
||||
language = str(language_form.language_combo_box.currentText())
|
||||
if not language:
|
||||
combo_box = language_form.language_combo_box
|
||||
language_id = combo_box.itemData(combo_box.currentIndex())
|
||||
if not language_id:
|
||||
return False
|
||||
language = BiblesResourcesDB.get_language(language)
|
||||
language_id = language['id']
|
||||
self.save_meta('language_id', language_id)
|
||||
return language_id
|
||||
|
||||
@ -767,43 +772,6 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
|
||||
return book[0]
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_language(name):
|
||||
"""
|
||||
Return a dict containing the language id, name and code by name or abbreviation.
|
||||
|
||||
:param name: The name or abbreviation of the language.
|
||||
"""
|
||||
log.debug('BiblesResourcesDB.get_language("{name}")'.format(name=name))
|
||||
if not isinstance(name, str):
|
||||
name = str(name)
|
||||
language = BiblesResourcesDB.run_sql(
|
||||
'SELECT id, name, code FROM language WHERE name = ? OR code = ?', (name, name.lower()))
|
||||
if language:
|
||||
return {
|
||||
'id': language[0][0],
|
||||
'name': str(language[0][1]),
|
||||
'code': str(language[0][2])
|
||||
}
|
||||
else:
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_languages():
|
||||
"""
|
||||
Return a dict containing all languages with id, name and code.
|
||||
"""
|
||||
log.debug('BiblesResourcesDB.get_languages()')
|
||||
languages = BiblesResourcesDB.run_sql('SELECT id, name, code FROM language ORDER by name')
|
||||
if languages:
|
||||
return [{
|
||||
'id': language[0],
|
||||
'name': str(language[1]),
|
||||
'code': str(language[2])
|
||||
} for language in languages]
|
||||
else:
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_testament_reference():
|
||||
"""
|
||||
|
@ -23,7 +23,7 @@
|
||||
import logging
|
||||
from lxml import etree
|
||||
|
||||
from openlp.core.common import translate, trace_error_handler
|
||||
from openlp.core.common import languages, translate, trace_error_handler
|
||||
from openlp.plugins.bibles.lib.db import BibleDB, BiblesResourcesDB
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
|
||||
@ -62,9 +62,11 @@ class OSISBible(BibleDB):
|
||||
namespace = {'ns': 'http://www.bibletechnologies.net/2003/OSIS/namespace'}
|
||||
# Find bible language
|
||||
language_id = None
|
||||
language = osis_bible_tree.xpath("//ns:osisText/@xml:lang", namespaces=namespace)
|
||||
if language:
|
||||
language_id = BiblesResourcesDB.get_language(language[0])
|
||||
lang = osis_bible_tree.xpath("//ns:osisText/@xml:lang", namespaces=namespace)
|
||||
if lang:
|
||||
language = languages.get_language(lang[0])
|
||||
if hasattr(language, 'id'):
|
||||
language_id = language.id
|
||||
# The language couldn't be detected, ask the user
|
||||
if not language_id:
|
||||
language_id = self.get_language(bible_name)
|
||||
|
@ -23,7 +23,7 @@
|
||||
import logging
|
||||
from pysword import modules
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.common import languages, translate
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.plugins.bibles.lib.db import BibleDB, BiblesResourcesDB
|
||||
|
||||
@ -57,9 +57,12 @@ class SwordBible(BibleDB):
|
||||
pysword_modules = modules.SwordModules(self.sword_path)
|
||||
pysword_module_json = pysword_modules.parse_modules()[self.sword_key]
|
||||
bible = pysword_modules.get_bible_from_module(self.sword_key)
|
||||
language_id = None
|
||||
language = pysword_module_json['lang']
|
||||
language = language[language.find('.') + 1:]
|
||||
language_id = BiblesResourcesDB.get_language(language)['id']
|
||||
language = languages.get_language(language)
|
||||
if hasattr(language, 'id'):
|
||||
language_id = language.id
|
||||
self.save_meta('language_id', language_id)
|
||||
books = bible.get_structure().get_books()
|
||||
# Count number of books
|
||||
|
@ -21,9 +21,9 @@
|
||||
###############################################################################
|
||||
|
||||
import logging
|
||||
from lxml import etree, objectify
|
||||
from lxml import etree
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.common import languages, translate
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.plugins.bibles.lib.db import BibleDB, BiblesResourcesDB
|
||||
|
||||
@ -62,7 +62,9 @@ class ZefaniaBible(BibleDB):
|
||||
language_id = None
|
||||
language = zefania_bible_tree.xpath("/XMLBIBLE/INFORMATION/language/text()")
|
||||
if language:
|
||||
language_id = BiblesResourcesDB.get_language(language[0])
|
||||
language = languages.get_language(language[0])
|
||||
if hasattr(language, 'id'):
|
||||
language_id = language.id
|
||||
# The language couldn't be detected, ask the user
|
||||
if not language_id:
|
||||
language_id = self.get_language(bible_name)
|
||||
|
@ -70,8 +70,8 @@ class TestSwordImport(TestCase):
|
||||
|
||||
@patch('openlp.plugins.bibles.lib.sword.SwordBible.application')
|
||||
@patch('openlp.plugins.bibles.lib.sword.modules')
|
||||
@patch('openlp.plugins.bibles.lib.db.BiblesResourcesDB')
|
||||
def test_simple_import(self, mocked_bible_res_db, mocked_pysword_modules, mocked_application):
|
||||
@patch('openlp.core.common.languages')
|
||||
def test_simple_import(self, mocked_languages, mocked_pysword_modules, mocked_application):
|
||||
"""
|
||||
Test that a simple SWORD import works
|
||||
"""
|
||||
@ -88,7 +88,7 @@ class TestSwordImport(TestCase):
|
||||
importer.create_verse = MagicMock()
|
||||
importer.create_book = MagicMock()
|
||||
importer.session = MagicMock()
|
||||
mocked_bible_res_db.get_language.return_value = 'Danish'
|
||||
mocked_languages.get_language.return_value = 'Danish'
|
||||
mocked_bible = MagicMock()
|
||||
mocked_genesis = MagicMock()
|
||||
mocked_genesis.name = 'Genesis'
|
||||
|
Loading…
Reference in New Issue
Block a user