From 8436d9d8c0e18afafdea19cb1e9f780a81ab8250 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 11 May 2012 21:09:12 +0200 Subject: [PATCH 1/3] Fixed a super-annoying bug where any newly imported Bibles would throw an exception. --- openlp/plugins/bibles/lib/manager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 9a82cc388..6b5cac3c1 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -332,7 +332,10 @@ class BibleManager(object): return None language_selection = self.get_meta_data(bible, u'book_name_language') if language_selection: - language_selection = int(language_selection.value) + try: + language_selection = int(language_selection.value) + except (ValueError, TypeError): + language_selection = 0 if language_selection is None or language_selection == -1: language_selection = QtCore.QSettings().value( self.settingsSection + u'/bookname language', From bfcb6a50b0a8466d31935a56ac9bfa7740c61c03 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 15 May 2012 23:06:09 +0200 Subject: [PATCH 2/3] Reworked according to Andreas' specifications. --- openlp/plugins/bibles/lib/manager.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 6b5cac3c1..bfba082af 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -330,16 +330,7 @@ class BibleManager(object): 'Import Wizard to install one or more Bibles.') }) return None - language_selection = self.get_meta_data(bible, u'book_name_language') - if language_selection: - try: - language_selection = int(language_selection.value) - except (ValueError, TypeError): - language_selection = 0 - if language_selection is None or language_selection == -1: - language_selection = QtCore.QSettings().value( - self.settingsSection + u'/bookname language', - QtCore.QVariant(0)).toInt()[0] + language_selection = self.get_language_selection(bible) reflist = parse_reference(versetext, self.db_cache[bible], language_selection, book_ref_id) if reflist: @@ -381,12 +372,16 @@ class BibleManager(object): """ log.debug(u'BibleManager.get_language_selection("%s")', bible) language_selection = self.get_meta_data(bible, u'book_name_language') - if language_selection and language_selection.value != u'None': - return int(language_selection.value) - if language_selection is None or language_selection.value == u'None': - return QtCore.QSettings().value( + if language_selection: + try: + language_selection = int(language_selection.value) + except (ValueError, TypeError): + language_selection = LanguageSelection.Application + if language_selection is None or language_selection == -1: + language_selection = QtCore.QSettings().value( self.settingsSection + u'/bookname language', QtCore.QVariant(0)).toInt()[0] + return language_selection def verse_search(self, bible, second_bible, text): """ From f5cba00ca978306c4084edfe64ecfcd48c8fbaf6 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 16 May 2012 18:42:33 +0200 Subject: [PATCH 3/3] Fixed a small bug left over from a previous refactoring. Fixes: https://launchpad.net/bugs/997174 --- openlp/plugins/bibles/lib/mediaitem.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 3c723d760..288e0e2de 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -843,10 +843,11 @@ class BibleMediaItem(MediaManagerItem): items = [] language_selection = self.plugin.manager.get_language_selection(bible) for count, verse in enumerate(search_results): + book = None if language_selection == LanguageSelection.Bible: book = verse.book.name elif language_selection == LanguageSelection.Application: - book_names = BibleStrings().Booknames + book_names = BibleStrings().BookNames data = BiblesResourcesDB.get_book_by_id( verse.book.book_reference_id) book = unicode(book_names[data[u'abbreviation']])