fixed bug #1214875 'Importing an OSIS bible always results in English book names'

Fixes: https://launchpad.net/bugs/1214875
This commit is contained in:
Arjan Schrijver 2013-08-21 14:39:22 +02:00
parent 5bd7479dca
commit 621ef0b6e6
2 changed files with 27 additions and 2 deletions

View File

@ -862,6 +862,26 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
return book[0] return book[0]
return None return None
@staticmethod
def get_language_by_id(language_id):
"""
Return a dict containing the language id, name and code by id.
``id``
The id of the language in the database.
"""
log.debug(u'BiblesResourcesDB.get_language_by_id(%d)', language_id)
language = BiblesResourcesDB.run_sql(u'SELECT id, name, code FROM '
u'language WHERE id = ?', (unicode(language_id),))
if language:
return {
u'id': language[0][0],
u'name': unicode(language[0][1]),
u'code': unicode(language[0][2])
}
else:
return None
@staticmethod @staticmethod
def get_language(name): def get_language(name):
""" """

View File

@ -34,7 +34,7 @@ import codecs
import re import re
from openlp.core.lib import Receiver, translate from openlp.core.lib import Receiver, translate
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation, LanguageManager
from openlp.plugins.bibles.lib.db import BibleDB, BiblesResourcesDB from openlp.plugins.bibles.lib.db import BibleDB, BiblesResourcesDB
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -157,12 +157,17 @@ class OSISBible(BibleDB):
if last_chapter == 0: if last_chapter == 0:
self.wizard.progressBar.setMaximum(chapter_count) self.wizard.progressBar.setMaximum(chapter_count)
if last_chapter != chapter: if last_chapter != chapter:
custom_translator = LanguageManager.get_translator(
BiblesResourcesDB.get_language_by_id(
language_id)['code'])[0]
book_name_localized = custom_translator.translate(
'BiblesPlugin', book_details[u'name'])
if last_chapter != 0: if last_chapter != 0:
self.session.commit() self.session.commit()
self.wizard.incrementProgressBar(unicode(translate( self.wizard.incrementProgressBar(unicode(translate(
'BiblesPlugin.OsisImport', 'Importing %s %s...', 'BiblesPlugin.OsisImport', 'Importing %s %s...',
'Importing <book name> <chapter>...')) % 'Importing <book name> <chapter>...')) %
(book_details[u'name'], chapter)) (book_name_localized, chapter))
last_chapter = chapter last_chapter = chapter
# All of this rigmarol below is because the mod2osis # All of this rigmarol below is because the mod2osis
# tool from the Sword library embeds XML in the OSIS # tool from the Sword library embeds XML in the OSIS