This commit is contained in:
Armin Köhler 2012-04-12 22:58:11 +02:00
parent 5f16ddc73c
commit 665c27c785
3 changed files with 51 additions and 49 deletions

View File

@ -69,11 +69,11 @@ class EditBibleForm(QtGui.QDialog, Ui_EditBibleDialog):
self.manager.get_meta_data(self.bible, u'Copyright').value) self.manager.get_meta_data(self.bible, u'Copyright').value)
self.permissionsEdit.setText( self.permissionsEdit.setText(
self.manager.get_meta_data(self.bible, u'Permissions').value) self.manager.get_meta_data(self.bible, u'Permissions').value)
self.bookname_language = self.manager.get_meta_data( bookname_language = self.manager.get_meta_data(self.bible,
self.bible, u'Bookname language') u'Bookname language')
if self.bookname_language: if bookname_language and bookname_language.value != u'None':
self.languageSelectionComboBox.setCurrentIndex( self.languageSelectionComboBox.setCurrentIndex(
int(self.bookname_language.value) + 1) int(bookname_language.value) + 1)
self.books = {} self.books = {}
self.webbible = self.manager.get_meta_data(self.bible, self.webbible = self.manager.get_meta_data(self.bible,
u'download source') u'download source')
@ -116,12 +116,13 @@ class EditBibleForm(QtGui.QDialog, Ui_EditBibleDialog):
Exit Dialog and save data Exit Dialog and save data
""" """
log.debug(u'BibleEditForm.accept') log.debug(u'BibleEditForm.accept')
self.version = unicode(self.versionNameEdit.text()) version = unicode(self.versionNameEdit.text())
self.copyright = unicode(self.copyrightEdit.text()) copyright = unicode(self.copyrightEdit.text())
self.permissions = unicode(self.permissionsEdit.text()) permissions = unicode(self.permissionsEdit.text())
self.bookname_language = \ bookname_language = self.languageSelectionComboBox.currentIndex() - 1
self.languageSelectionComboBox.currentIndex() - 1 if bookname_language == -1:
if not self.validateMeta(): bookname_language = None
if not self.validateMeta(version, copyright):
return return
if not self.webbible: if not self.webbible:
custom_names = {} custom_names = {}
@ -133,8 +134,8 @@ class EditBibleForm(QtGui.QDialog, Ui_EditBibleDialog):
return return
Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'openlp_process_events')
Receiver.send_message(u'cursor_busy') Receiver.send_message(u'cursor_busy')
self.manager.save_meta_data(self.bible, self.version, self.manager.save_meta_data(self.bible, version, copyright, permissions,
self.copyright, self.permissions, self.bookname_language) bookname_language)
if not self.webbible: if not self.webbible:
for abbr, book in self.books.iteritems(): for abbr, book in self.books.iteritems():
if book: if book:
@ -145,26 +146,26 @@ class EditBibleForm(QtGui.QDialog, Ui_EditBibleDialog):
Receiver.send_message(u'cursor_normal') Receiver.send_message(u'cursor_normal')
QtGui.QDialog.accept(self) QtGui.QDialog.accept(self)
def validateMeta(self): def validateMeta(self, version, copyright):
""" """
Validate the Meta before saving. Validate the Meta before saving.
""" """
if not self.version: if not version:
self.versionNameEdit.setFocus() self.versionNameEdit.setFocus()
critical_error_message_box(UiStrings().EmptyField, critical_error_message_box(UiStrings().EmptyField,
translate('BiblesPlugin.BibleEditForm', translate('BiblesPlugin.BibleEditForm',
'You need to specify a version name for your Bible.')) 'You need to specify a version name for your Bible.'))
return False return False
elif not self.copyright: elif not copyright:
self.copyrightEdit.setFocus() self.copyrightEdit.setFocus()
critical_error_message_box(UiStrings().EmptyField, critical_error_message_box(UiStrings().EmptyField,
translate('BiblesPlugin.BibleEditForm', translate('BiblesPlugin.BibleEditForm',
'You need to set a copyright for your Bible. ' 'You need to set a copyright for your Bible. '
'Bibles in the Public Domain need to be marked as such.')) 'Bibles in the Public Domain need to be marked as such.'))
return False return False
elif self.manager.exists(self.version) and \ elif self.manager.exists(version) and \
self.manager.get_meta_data(self.bible, u'Version').value != \ self.manager.get_meta_data(self.bible, u'Version').value != \
self.version: version:
self.versionNameEdit.setFocus() self.versionNameEdit.setFocus()
critical_error_message_box( critical_error_message_box(
translate('BiblesPlugin.BibleEditForm', 'Bible Exists'), translate('BiblesPlugin.BibleEditForm', 'Bible Exists'),

View File

@ -140,14 +140,14 @@ class BibleManager(object):
BibleDB class. BibleDB class.
""" """
log.debug(u'Reload bibles') log.debug(u'Reload bibles')
self.files = SettingsManager.get_files(self.settingsSection, files = SettingsManager.get_files(self.settingsSection,
self.suffix) self.suffix)
if u'alternative_book_names.sqlite' in self.files: if u'alternative_book_names.sqlite' in files:
self.files.remove(u'alternative_book_names.sqlite') files.remove(u'alternative_book_names.sqlite')
log.debug(u'Bible Files %s', self.files) log.debug(u'Bible Files %s', files)
self.db_cache = {} self.db_cache = {}
self.old_bible_databases = [] self.old_bible_databases = []
for filename in self.files: for filename in files:
bible = BibleDB(self.parent, path=self.path, file=filename) bible = BibleDB(self.parent, path=self.path, file=filename)
name = bible.get_name() name = bible.get_name()
# Remove corrupted files. # Remove corrupted files.
@ -211,7 +211,12 @@ class BibleManager(object):
``name`` ``name``
The name of the bible. The name of the bible.
""" """
for filename in self.files: log.debug(u'BibleManager.delete_bible("%s")', name)
files = SettingsManager.get_files(self.settingsSection,
self.suffix)
if u'alternative_book_names.sqlite' in files:
files.remove(u'alternative_book_names.sqlite')
for filename in files:
bible = BibleDB(self.parent, path=self.path, file=filename) bible = BibleDB(self.parent, path=self.path, file=filename)
# Remove the bible files # Remove the bible files
if name == bible.get_name(): if name == bible.get_name():
@ -364,6 +369,22 @@ class BibleManager(object):
}) })
return None return None
def get_language_selection(self, bible):
"""
Returns the language selection of a bible.
``bible``
Unicode. The Bible to get the language selection from.
"""
log.debug(u'BibleManager.get_language_selection("%s")', bible)
language_selection = self.get_meta_data(bible, u'Bookname 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(
self.settingsSection + u'/bookname language',
QtCore.QVariant(0)).toInt()[0]
def verse_search(self, bible, second_bible, text): def verse_search(self, bible, second_bible, text):
""" """
Does a verse search for the given bible and text. Does a verse search for the given bible and text.
@ -417,7 +438,7 @@ class BibleManager(object):
return None return None
def save_meta_data(self, bible, version, copyright, permissions, def save_meta_data(self, bible, version, copyright, permissions,
bookname_language=-1): bookname_language=None):
""" """
Saves the bibles meta data. Saves the bibles meta data.
""" """

View File

@ -432,14 +432,7 @@ class BibleMediaItem(MediaManagerItem):
book_data = book_data_temp book_data = book_data_temp
self.advancedBookComboBox.clear() self.advancedBookComboBox.clear()
first = True first = True
language_selection = self.plugin.manager.get_meta_data( language_selection = self.plugin.manager.get_language_selection(bible)
bible, u'Bookname language')
if language_selection:
language_selection = int(language_selection.value)
if language_selection is None or language_selection == -1:
language_selection = QtCore.QSettings().value(
self.settingsSection + u'/bookname language',
QtCore.QVariant(0)).toInt()[0]
booknames = BibleStrings().Booknames booknames = BibleStrings().Booknames
for book in book_data: for book in book_data:
row = self.advancedBookComboBox.count() row = self.advancedBookComboBox.count()
@ -511,14 +504,8 @@ class BibleMediaItem(MediaManagerItem):
secondbook.book_reference_id: secondbook.book_reference_id:
book_data_temp.append(book) book_data_temp.append(book)
book_data = book_data_temp book_data = book_data_temp
language_selection = self.plugin.manager.get_meta_data( language_selection = self.plugin.manager.get_language_selection(
bible, u'Bookname language') bible)
if language_selection:
language_selection = int(language_selection.value)
if language_selection is None or language_selection == -1:
language_selection = QtCore.QSettings().value(
self.settingsSection + u'/bookname language',
QtCore.QVariant(0)).toInt()[0]
if language_selection == LanguageSelection.Bible: if language_selection == LanguageSelection.Bible:
books = [book.name + u' ' for book in book_data] books = [book.name + u' ' for book in book_data]
elif language_selection == LanguageSelection.Application: elif language_selection == LanguageSelection.Application:
@ -834,14 +821,7 @@ class BibleMediaItem(MediaManagerItem):
second_permissions = self.plugin.manager.get_meta_data( second_permissions = self.plugin.manager.get_meta_data(
second_bible, u'Permissions').value second_bible, u'Permissions').value
items = [] items = []
language_selection = self.plugin.manager.get_meta_data( language_selection = self.plugin.manager.get_language_selection(bible)
bible, u'Bookname language')
if language_selection:
language_selection = int(language_selection.value)
if language_selection is None or language_selection == -1:
language_selection = QtCore.QSettings().value(
self.settingsSection + u'/bookname language',
QtCore.QVariant(0)).toInt()[0]
for count, verse in enumerate(search_results): for count, verse in enumerate(search_results):
if language_selection == LanguageSelection.Bible: if language_selection == LanguageSelection.Bible:
book = verse.book.name book = verse.book.name