diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py
index 13b5924d7..a8a8fdf79 100644
--- a/openlp/plugins/bibles/bibleplugin.py
+++ b/openlp/plugins/bibles/bibleplugin.py
@@ -32,6 +32,7 @@ from openlp.core.lib import Plugin, StringContent, build_icon, translate
from openlp.core.lib.ui import base_action, UiStrings
from openlp.core.utils.actions import ActionList
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem
+from openlp.plugins.bibles.forms import BibleUpgradeForm
log = logging.getLogger(__name__)
@@ -58,7 +59,7 @@ class BiblePlugin(Plugin):
#action_list.add_action(self.exportBibleItem, UiStrings().Export)
# Set to invisible until we can export bibles
self.exportBibleItem.setVisible(False)
- self.toolsReimportItem.setVisible(True)
+ self.toolsUpgradeItem.setVisible(True)
def finalise(self):
"""
@@ -90,7 +91,7 @@ class BiblePlugin(Plugin):
def addToolsMenuItem(self, tools_menu):
"""
- Give the alerts plugin the opportunity to add items to the
+ Give the bible plugin the opportunity to add items to the
**Tools** menu.
``tools_menu``
@@ -98,25 +99,28 @@ class BiblePlugin(Plugin):
use it as their parent.
"""
log.info(u'add tools menu')
- self.toolsReimportItem = QtGui.QAction(tools_menu)
- self.toolsReimportItem.setObjectName(u'toolsReimportItem')
- self.toolsReimportItem.setText(
- translate('BiblePlugin', 'Re-&import older bible databases'))
- self.toolsReimportItem.setStatusTip(
- translate('BiblePlugin', 'Re-import the bible databases to addapt '
+ self.toolsUpgradeItem = QtGui.QAction(tools_menu)
+ self.toolsUpgradeItem.setObjectName(u'toolsUpgradeItem')
+ self.toolsUpgradeItem.setText(
+ translate('BiblePlugin', '&Upgrade older bible databases'))
+ self.toolsUpgradeItem.setStatusTip(
+ translate('BiblePlugin', 'Upgrade the bible databases to addapt '
'the database scheme.'))
- tools_menu.addAction(self.toolsReimportItem)
- QtCore.QObject.connect(self.toolsReimportItem,
- QtCore.SIGNAL(u'triggered()'), self.onToolsReimportItemTriggered)
- self.toolsReimportItem.setVisible(False)
+ tools_menu.addAction(self.toolsUpgradeItem)
+ QtCore.QObject.connect(self.toolsUpgradeItem,
+ QtCore.SIGNAL(u'triggered()'), self.onToolsUpgradeItemTriggered)
+ self.toolsUpgradeItem.setVisible(False)
- def onToolsReimportItemTriggered(self):
+ def onToolsUpgradeItemTriggered(self):
"""
- Re-import older bible databases.
+ Upgrade older bible databases.
"""
- #self.manager.import_old_bible_databases()
- if self.mediaItem:
- self.mediaItem.onReImportClick()
+ if not hasattr(self, u'upgrade_wizard'):
+ self.upgrade_wizard = BibleUpgradeForm(self.formparent,
+ self.manager, self)
+ # If the import was not cancelled then reload.
+ if self.upgrade_wizard.exec_():
+ self.mediaItem.reloadBibles()
def onBibleImportClick(self):
if self.mediaItem:
diff --git a/openlp/plugins/bibles/forms/__init__.py b/openlp/plugins/bibles/forms/__init__.py
index bd7ba3828..2838a5101 100644
--- a/openlp/plugins/bibles/forms/__init__.py
+++ b/openlp/plugins/bibles/forms/__init__.py
@@ -53,6 +53,7 @@ from the .ui files later if necessary.
from booknameform import BookNameForm
from languageform import LanguageForm
from bibleimportform import BibleImportForm
-from biblereimportform import BibleReImportForm
+from bibleupgradeform import BibleUpgradeForm
-__all__ = ['BibleImportForm']
+__all__ = [u'BookNameForm', u'LanguageForm', u'BibleImportForm',
+ u'BibleUpgradeForm']
diff --git a/openlp/plugins/bibles/forms/biblereimportform.py b/openlp/plugins/bibles/forms/bibleupgradeform.py
similarity index 84%
rename from openlp/plugins/bibles/forms/biblereimportform.py
rename to openlp/plugins/bibles/forms/bibleupgradeform.py
index 3ca4966ba..b64231195 100644
--- a/openlp/plugins/bibles/forms/biblereimportform.py
+++ b/openlp/plugins/bibles/forms/bibleupgradeform.py
@@ -45,12 +45,12 @@ from openlp.plugins.bibles.lib.http import BSExtract, BGExtract, CWExtract
log = logging.getLogger(__name__)
-class BibleReImportForm(OpenLPWizard):
+class BibleUpgradeForm(OpenLPWizard):
"""
- This is the Bible ReImport Wizard, which allows easy importing of Bibles
+ This is the Bible Upgrade Wizard, which allows easy importing of Bibles
into OpenLP from older OpenLP2 database versions.
"""
- log.info(u'BibleReImportForm loaded')
+ log.info(u'BibleUpgradeForm loaded')
def __init__(self, parent, manager, bibleplugin):
"""
@@ -66,7 +66,7 @@ class BibleReImportForm(OpenLPWizard):
The Bible plugin.
"""
self.manager = manager
- self.parent = parent
+ self.mediaItem = bibleplugin.mediaItem
self.suffix = u'.sqlite'
self.settingsSection = u'bibles/bibles'
self.oldsettingsSection = u'bibles'
@@ -80,7 +80,7 @@ class BibleReImportForm(OpenLPWizard):
self.newbibles = {}
self.maxBibles = len(self.files)
self.stop_import_flag = False
- OpenLPWizard.__init__(self, parent, bibleplugin, u'bibleImportWizard',
+ OpenLPWizard.__init__(self, parent, bibleplugin, u'bibleUpgradeWizard',
u':/wizards/wizard_importbible.bmp')
def setupUi(self, image):
@@ -113,7 +113,7 @@ class BibleReImportForm(OpenLPWizard):
def onCheckBoxIndexChanged(self, index):
'''
- Some cleanup while finishing
+ Show/ Hide warnings if CheckBox state has changed
'''
for number, filename in enumerate(self.files):
if not self.checkBox[number].checkState() == 2:
@@ -121,8 +121,8 @@ class BibleReImportForm(OpenLPWizard):
self.formWidget[number].hide()
else:
if os.path.exists(os.path.join(self.newpath, filename)):
- self.verticalWidget[number].setVisible(1)
- self.formWidget[number].setVisible(1)
+ self.verticalWidget[number].show()
+ self.formWidget[number].show()
def reject(self):
"""
@@ -161,7 +161,7 @@ class BibleReImportForm(OpenLPWizard):
def customInit(self):
"""
- Perform any custom initialisation for bible importing.
+ Perform any custom initialisation for bible upgrading.
"""
self.manager.set_process_dialog(self)
self.restart()
@@ -213,7 +213,7 @@ class BibleReImportForm(OpenLPWizard):
self.formWidget = {}
self.formLayoutAttention = {}
for number, filename in enumerate(self.files):
- bible = OldBibleDB(self.parent, path=self.oldpath, file=filename)
+ bible = OldBibleDB(self.mediaItem, path=self.oldpath, file=filename)
self.checkBox[number] = QtGui.QCheckBox(self.scrollAreaContents)
checkBoxName = u'checkBox['+unicode(number)+u']'
self.checkBox[number].setObjectName(checkBoxName)
@@ -233,7 +233,7 @@ class BibleReImportForm(OpenLPWizard):
versionInfoPixmapName = u'versionInfoPixmap['+unicode(number)+u']'
self.versionInfoPixmap[number].setObjectName(versionInfoPixmapName)
self.versionInfoPixmap[number].setPixmap(QtGui.QPixmap(
- u':/bibles/bibles_reimport_alert.png'))
+ u':/bibles/bibles_upgrade_alert.png'))
self.versionInfoPixmap[number].setAlignment(QtCore.Qt.AlignRight)
self.horizontalLayout[number].addWidget(
self.versionInfoPixmap[number])
@@ -325,41 +325,41 @@ class BibleReImportForm(OpenLPWizard):
"""
Allow for localisation of the bible import wizard.
"""
- self.setWindowTitle(translate('BiblesPlugin.ReImportWizardForm',
- 'Bible ReImport Wizard'))
+ self.setWindowTitle(translate('BiblesPlugin.UpgradeWizardForm',
+ 'Bible Upgrade Wizard'))
self.titleLabel.setText(WizardStrings.HeaderStyle %
- translate('OpenLP.Ui', 'Welcome to the Bible ReImport Wizard'))
+ translate('OpenLP.Ui', 'Welcome to the Bible Upgrade Wizard'))
self.informationLabel.setText(
- translate('BiblesPlugin.ReImportWizardForm',
- 'This wizard will help you to reimport your existing Bibles from a '
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'This wizard will help you to upgrade your existing Bibles from a '
'prior version of OpenLP 2. Click the next button below to start '
- 'the process by selecting the bibles to reimport.'))
+ 'the process by selecting the bibles to upgrade.'))
self.selectPage.setTitle(
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'Please choose'))
self.selectPage.setSubTitle(
- translate('BiblesPlugin.ReImportWizardForm',
- 'Please choose the bibles which should be reimported'))
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'Please choose the bibles which should be upgraded'))
for number, bible in enumerate(self.files):
self.versionNameLabel[number].setText(
- translate('BiblesPlugin.ReImportWizardForm', 'Version name:'))
+ translate('BiblesPlugin.UpgradeWizardForm', 'Version name:'))
self.versionInfoLabel[number].setText(
- translate('BiblesPlugin.ReImportWizardForm', 'This '
+ translate('BiblesPlugin.UpgradeWizardForm', 'This '
'bible still exists. Please change the name or uncheck it.'))
self.progressPage.setTitle(WizardStrings.Importing)
self.progressPage.setSubTitle(
- translate('BiblesPlugin.ReImportWizardForm',
- 'Please wait while your Bibles are imported.'))
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'Please wait while your Bibles are upgraded.'))
self.progressLabel.setText(WizardStrings.Ready)
self.progressBar.setFormat(u'%p%')
self.deleteCheckBox.setText(
- translate('BiblesPlugin.ReImportWizardForm', 'Delete old bible '
- 'database(s) from bibles which was imported\nsucessful right now'))
+ translate('BiblesPlugin.UpgradeWizardForm', 'Delete old bible '
+ 'database(s) from bibles which was upgraded\nsucessful right now'))
self.deleteAllCheckBox.setText(
- translate('BiblesPlugin.ReImportWizardForm', 'Delete all old bible '
- 'database(s) (including not imported bibles)'))
+ translate('BiblesPlugin.UpgradeWizardForm', 'Delete all old bible '
+ 'database(s) (including not upgraded bibles)'))
self.progressLabelAfter.setText(
- translate('BiblesPlugin.ReImportWizardForm', '\nIf OpenLP should '
+ translate('BiblesPlugin.UpgradeWizardForm', '\nIf OpenLP should '
'delete the old bible databases please choose:'))
def validateCurrentPage(self):
@@ -373,21 +373,21 @@ class BibleReImportForm(OpenLPWizard):
if not self.checkBox[number].checkState() == 2:
continue
version_name = unicode(self.versionNameEdit[number].text())
- oldbible = OldBibleDB(self.parent, path=self.oldpath,
+ oldbible = OldBibleDB(self.mediaItem, path=self.oldpath,
file=filename)
oldname = oldbible.get_name()
if not version_name:
critical_error_message_box(UiStrings().EmptyField,
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'You need to specify a version name for your Bible.'))
self.versionNameEdit[number].setFocus()
return False
elif self.manager.exists(version_name):
critical_error_message_box(
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'Bible Exists'),
- translate('BiblesPlugin.ReImportWizardForm',
- 'This Bible already exists. Please import '
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'This Bible already exists. Please upgrade '
'a different Bible, delete the existing one or '
'uncheck.'))
self.versionNameEdit[number].setFocus()
@@ -395,10 +395,10 @@ class BibleReImportForm(OpenLPWizard):
elif os.path.exists(os.path.join(self.newpath, filename)) and \
version_name == oldname:
critical_error_message_box(
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'Bible Exists'),
- translate('BiblesPlugin.ReImportWizardForm',
- 'This Bible already exists. Please import '
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'This Bible already exists. Please upgrade '
'a different Bible, delete the existing one or '
'uncheck.'))
self.versionNameEdit[number].setFocus()
@@ -406,10 +406,10 @@ class BibleReImportForm(OpenLPWizard):
elif os.path.exists(os.path.join(self.newpath,
self.clean_filename(version_name))):
critical_error_message_box(
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'Bible Exists'),
- translate('BiblesPlugin.ReImportWizardForm',
- 'This Bible already exists. Please import '
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'This Bible already exists. Please upgrade '
'a different Bible, delete the existing one or '
'uncheck.'))
self.versionNameEdit[number].setFocus()
@@ -422,7 +422,7 @@ class BibleReImportForm(OpenLPWizard):
"""
Set default values for the wizard pages.
"""
- log.debug(u'BibleReImport setDefaults')
+ log.debug(u'BibleUpgrade setDefaults')
settings = QtCore.QSettings()
settings.beginGroup(self.plugin.settingsSection)
self.stop_import_flag = False
@@ -440,8 +440,8 @@ class BibleReImportForm(OpenLPWizard):
for number, filename in enumerate(self.files):
self.checkBox[number].setCheckState(2)
if os.path.exists(os.path.join(self.newpath, filename)):
- self.verticalWidget[number].setVisible(1)
- self.formWidget[number].setVisible(1)
+ self.verticalWidget[number].show()
+ self.formWidget[number].show()
else:
self.verticalWidget[number].hide()
self.formWidget[number].hide()
@@ -456,24 +456,24 @@ class BibleReImportForm(OpenLPWizard):
def preWizard(self):
"""
- Prepare the UI for the import.
+ Prepare the UI for the upgrade.
"""
OpenLPWizard.preWizard(self)
self.progressLabel.setText(translate(
- 'BiblesPlugin.ImportWizardForm',
- 'Starting Importing bible...'))
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Starting upgrading bible(s)...'))
Receiver.send_message(u'openlp_process_events')
def performWizard(self):
"""
- Perform the actual import.
+ Perform the actual upgrade.
"""
include_webbible = False
proxy_server = None
if self.maxBibles == 0:
self.progressLabel.setText(
- translate('BiblesPlugin.ReImportWizardForm', 'Sorry, but OpenLP'
- ' could not find a Bible to reimport.'))
+ translate('BiblesPlugin.UpgradeWizardForm', 'Sorry, but OpenLP'
+ ' could not find a Bible to upgrade.'))
self.progressBar.hide()
return
self.maxBibles = 0
@@ -487,24 +487,25 @@ class BibleReImportForm(OpenLPWizard):
if not self.checkBox[biblenumber].checkState() == 2:
continue
self.progressBar.reset()
- oldbible = OldBibleDB(self.parent, path=self.oldpath, file=filename)
+ oldbible = OldBibleDB(self.mediaItem, path=self.oldpath,
+ file=filename)
name = oldbible.get_name()
if name is None:
delete_file(os.path.join(self.oldpath, filename))
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nFailed')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nFailed')) %
(number+1, self.maxBibles, name),
self.progressBar.maximum()-self.progressBar.value())
number += 1
continue
self.progressLabel.setText(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nImporting ...')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nImporting ...')) %
(number+1, self.maxBibles, name))
if os.path.exists(os.path.join(self.newpath, filename)):
name = unicode(self.versionNameEdit[biblenumber].text())
- self.newbibles[number] = BibleDB(self.parent, path=self.oldpath,
+ self.newbibles[number] = BibleDB(self.mediaItem, path=self.oldpath,
name=name)
metadata = oldbible.get_metadata()
webbible = False
@@ -538,16 +539,16 @@ class BibleReImportForm(OpenLPWizard):
clean_filename(self.newbibles[number].get_name()))
del self.newbibles[number]
critical_error_message_box(
- translate('BiblesPlugin.ReImportWizardForm',
+ translate('BiblesPlugin.UpgradeWizardForm',
'Download Error'),
- translate('BiblesPlugin.ReImportWizardForm',
- 'To Re-Import your webbibles a Internet connection is '
+ translate('BiblesPlugin.UpgradeWizardForm',
+ 'To upgrade your webbibles a Internet connection is '
'necessary. Please check your Internet connection, and '
'if this error continues to occur please consider '
'reporting a bug.'))
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nFailed')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nFailed')) %
(number+1, self.maxBibles, name),
self.progressBar.maximum()-self.progressBar.value())
number += 1
@@ -562,14 +563,14 @@ class BibleReImportForm(OpenLPWizard):
else:
language_id = self.newbibles[number].get_language()
if not language_id:
- log.exception(u'Re-Importing from "%s" '\
+ log.exception(u'Upgrading from "%s" '\
'failed' % filename)
delete_database(self.newpath, self.newbibles[number].\
clean_filename(self.newbibles[number].get_name()))
del self.newbibles[number]
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nFailed')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nFailed')) %
(number+1, self.maxBibles, name),
self.progressBar.maximum()-self.progressBar.value())
number += 1
@@ -577,8 +578,8 @@ class BibleReImportForm(OpenLPWizard):
self.progressBar.setMaximum(len(books))
for book in books:
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\n'
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\n'
'Importing %s ...')) %
(number+1, self.maxBibles, name, book))
book_ref_id = self.newbibles[number].\
@@ -608,8 +609,8 @@ class BibleReImportForm(OpenLPWizard):
clean_filename(self.newbibles[number].get_name()))
del self.newbibles[number]
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nFailed')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nFailed')) %
(number+1, self.maxBibles, name),
self.progressBar.maximum()-self.progressBar.value())
number += 1
@@ -618,8 +619,8 @@ class BibleReImportForm(OpenLPWizard):
self.progressBar.setMaximum(len(books))
for book in books:
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\n'
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\n'
'Importing %s ...')) %
(number+1, self.maxBibles, name, book[u'name']))
book_ref_id = self.newbibles[number].\
@@ -643,19 +644,19 @@ class BibleReImportForm(OpenLPWizard):
Receiver.send_message(u'openlp_process_events')
if not bible_failed:
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\n'
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\n'
'Done')) %
(number+1, self.maxBibles, name))
self.success[biblenumber] = True
else:
self.incrementProgressBar(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Reimporting Bible %s of %s: "%s"\nFailed')) %
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Upgrading Bible %s of %s: "%s"\nFailed')) %
(number+1, self.maxBibles, name),
self.progressBar.maximum()-self.progressBar.value())
number += 1
- self.parent.reloadBibles()
+ self.mediaItem.reloadBibles()
successful_import = 0
failed_import = 0
for number, success in self.success.iteritems():
@@ -665,34 +666,34 @@ class BibleReImportForm(OpenLPWizard):
failed_import += 1
if failed_import > 0:
failed_import_text = unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- ' - %s reimport fail')) % failed_import
+ 'BiblesPlugin.UpgradeWizardForm',
+ ' - %s upgrade fail')) % failed_import
else:
failed_import_text = u''
if successful_import > 0:
if include_webbible:
self.progressLabel.setText(unicode(
- translate('BiblesPlugin.ReImportWizardForm', 'Reimport %s '
+ translate('BiblesPlugin.UpgradeWizardForm', 'Upgrade %s '
'bible(s) successful%s.\nPlease note, that verses from '
'webbibles will be downloaded\non demand and thus an '
'internet connection is required.')) %
(successful_import, failed_import_text))
else:
self.progressLabel.setText(unicode(
- translate('BiblesPlugin.ReImportWizardForm', 'Reimport %s '
+ translate('BiblesPlugin.UpgradeWizardForm', 'Upgrade %s '
'bible(s) successful.%s')) % (successful_import,
failed_import_text))
- self.deleteCheckBox.setVisible(1)
+ self.deleteCheckBox.show()
bibles = u''
for bible in self.newbibles.itervalues():
name = bible.get_name()
bibles += u'\n"' + name + u'"'
self.deleteCheckBox.setToolTip(unicode(translate(
- 'BiblesPlugin.ReImportWizardForm',
- 'Sucessful imported bible(s):%s')) % bibles)
+ 'BiblesPlugin.UpgradeWizardForm',
+ 'Sucessful upgraded bible(s):%s')) % bibles)
else:
self.progressLabel.setText(
- translate('BiblesPlugin.ReImportWizardForm', 'Reimport '
+ translate('BiblesPlugin.UpgradeWizardForm', 'Upgrade '
'failed.'))
- self.progressLabelAfter.setVisible(1)
- self.deleteAllCheckBox.setVisible(1)
+ self.progressLabelAfter.show()
+ self.deleteAllCheckBox.show()
diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py
index c2b2fa1b1..8e0eec849 100644
--- a/openlp/plugins/bibles/lib/db.py
+++ b/openlp/plugins/bibles/lib/db.py
@@ -35,7 +35,7 @@ from sqlalchemy import Column, ForeignKey, or_, Table, types
from sqlalchemy.orm import class_mapper, mapper, relation
from sqlalchemy.orm.exc import UnmappedClassError
-from openlp.core.lib import Receiver, translate
+from openlp.core.lib import Receiver, translate, check_directory_exists
from openlp.core.lib.db import BaseModel, init_db, Manager
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.utils import AppLocation
@@ -295,14 +295,14 @@ class BibleDB(QtCore.QObject, Manager):
The name of the book to return.
"""
log.debug(u'BibleDB.get_book("%s")', book)
- db_book = self.get_object_filtered(Book, Book.name.like(book + u'%'))
- return db_book
+ return self.get_object_filtered(Book, Book.name.like(book + u'%'))
def get_books(self):
"""
A wrapper so both local and web bibles have a get_books() method that
manager can call. Used in the media manager advanced search tab.
"""
+ log.debug(u'BibleDB.get_books()')
return self.get_all_objects(Book, order_by_ref=Book.id)
def get_book_by_book_ref_id(self, id):
@@ -313,9 +313,7 @@ class BibleDB(QtCore.QObject, Manager):
The reference id of the book to return.
"""
log.debug(u'BibleDB.get_book_by_book_ref_id("%s")', id)
- db_book = self.get_object_filtered(Book,
- Book.book_reference_id.like(id))
- return db_book
+ return self.get_object_filtered(Book, Book.book_reference_id.like(id))
def get_book_ref_id_by_name(self, book, language_id=None):
log.debug(u'BibleDB.get_book_ref_id_by_name:("%s", "%s")', book,
@@ -421,16 +419,16 @@ class BibleDB(QtCore.QObject, Manager):
verses = verses.all()
return verses
- def get_chapter_count(self, book_id):
+ def get_chapter_count(self, book):
"""
Return the number of chapters in a book.
``book``
- The book to get the chapter count for.
+ The book object to get the chapter count for.
"""
- log.debug(u'BibleDB.get_chapter_count("%s")', book_id)
+ log.debug(u'BibleDB.get_chapter_count("%s")', book.name)
count = self.session.query(Verse.chapter).join(Book)\
- .filter(Book.book_reference_id==book_id)\
+ .filter(Book.name==book.name)\
.distinct().count()
if not count:
return 0
@@ -541,16 +539,16 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
log.debug(u'BiblesResourcesDB.get_books()')
books = BiblesResourcesDB.run_sql(u'SELECT id, testament_id, name, '
u'abbreviation, chapters FROM book_reference ORDER BY id')
- book_list = []
- for book in books:
- book_list.append({
- u'id': book[0],
- u'testament_id': book[1],
- u'name': unicode(book[2]),
- u'abbreviation': unicode(book[3]),
- u'chapters': book[4]
- })
- return book_list
+ return [
+ {
+ u'id': book[0],
+ u'testament_id': book[1],
+ u'name': unicode(book[2]),
+ u'abbreviation': unicode(book[3]),
+ u'chapters': book[4]
+ }
+ for book in books
+ ]
@staticmethod
def get_book(name):
@@ -700,16 +698,16 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
u'language_id, download_source_id FROM webbibles WHERE '
u'download_source_id = ?', (source[u'id'],))
if bibles:
- bibles_temp = []
- for bible in bibles:
- bibles_temp.append({
- u'id': bible[0],
- u'name': bible[1],
- u'abbreviation': bible[2],
- u'language_id': bible[3],
- u'download_source_id': bible[4]
- })
- return bibles_temp
+ return [
+ {
+ u'id': bible[0],
+ u'name': bible[1],
+ u'abbreviation': bible[2],
+ u'language_id': bible[3],
+ u'download_source_id': bible[4]
+ }
+ for bible in bibles
+ ]
else:
return None
@@ -736,14 +734,13 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
u'download_source_id = ? AND abbreviation = ?', (source[u'id'],
abbreviation))
if bible:
- bibles_temp = {
+ return {
u'id': bible[0][0],
u'name': bible[0][1],
u'abbreviation': bible[0][2],
u'language_id': bible[0][3],
u'download_source_id': bible[0][4]
}
- return bibles_temp
else:
return None
@@ -806,14 +803,14 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
languages = BiblesResourcesDB.run_sql(u'SELECT id, name, code FROM '
u'language ORDER by name')
if languages:
- languages_temp = []
- for language in languages:
- languages_temp.append({
- u'id': language[0],
- u'name': unicode(language[1]),
- u'code': unicode(language[2])
- })
- return languages_temp
+ return [
+ {
+ u'id': language[0],
+ u'name': unicode(language[1]),
+ u'code': unicode(language[2])
+ }
+ for language in languages
+ ]
else:
return None
@@ -825,13 +822,13 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
log.debug(u'BiblesResourcesDB.get_testament_reference()')
testaments = BiblesResourcesDB.run_sql(u'SELECT id, name FROM '
u'testament_reference ORDER BY id')
- testament_list = []
- for testament in testaments:
- testament_list.append({
- u'id': testament[0],
- u'name': unicode(testament[1])
- })
- return testament_list
+ return [
+ {
+ u'id': testament[0],
+ u'name': unicode(testament[1])
+ }
+ for testament in testaments
+ ]
class AlternativeBookNamesDB(QtCore.QObject, Manager):
@@ -849,12 +846,8 @@ class AlternativeBookNamesDB(QtCore.QObject, Manager):
database doesn't exist.
"""
if AlternativeBookNamesDB.cursor is None:
- if not os.path.exists(os.path.join(
- AppLocation.get_directory(AppLocation.DataDir), u'bibles',
- u'resources')):
- os.mkdir(os.path.join(
- AppLocation.get_directory(AppLocation.DataDir), u'bibles',
- u'resources'))
+ check_directory_exists(os.path.join(AppLocation.get_directory(
+ AppLocation.DataDir), u'bibles', u'resources'))
filepath = os.path.join(
AppLocation.get_directory(AppLocation.DataDir), u'bibles',
u'resources', u'alternative_book_names.sqlite')
@@ -933,10 +926,9 @@ class AlternativeBookNamesDB(QtCore.QObject, Manager):
"""
log.debug(u'AlternativeBookNamesDB.create_alternative_book_name("%s", '
'"%s", "%s"', name, book_reference_id, language_id)
- alternative_book_name = AlternativeBookNamesDB.run_sql(u'INSERT INTO '
+ return AlternativeBookNamesDB.run_sql(u'INSERT INTO '
u'alternative_book_names(book_reference_id, language_id, name) '
u'VALUES (?, ?, ?)', (book_reference_id, language_id, name), True)
- return alternative_book_name
class OldBibleDB(QtCore.QObject, Manager):
@@ -1014,15 +1006,15 @@ class OldBibleDB(QtCore.QObject, Manager):
metadata = self.run_sql(u'SELECT key, value FROM metadata '
u'ORDER BY rowid')
if metadata:
- metadata_list = []
- for meta in metadata:
- metadata_list.append({
- u'key': unicode(meta[0]),
- u'value': unicode(meta[1])
- })
+ return [
+ {
+ u'key': unicode(meta[0]),
+ u'value': unicode(meta[1])
+ }
+ for meta in metadata
+ ]
else:
- metadata_list = None
- return metadata_list
+ return None
def get_books(self):
"""
@@ -1030,15 +1022,16 @@ class OldBibleDB(QtCore.QObject, Manager):
"""
books = self.run_sql(u'SELECT name, id FROM book ORDER BY id')
if books:
+ return [
+ {
+ u'name': unicode(book[0]),
+ u'id':int(book[1])
+ }
+ for book in books
+ ]
book_list = []
- for book in books:
- book_list.append({
- u'name': unicode(book[0]),
- u'id':int(book[1])
- })
else:
- book_list = None
- return book_list
+ return None
def get_verses(self, book_id):
"""
@@ -1047,15 +1040,14 @@ class OldBibleDB(QtCore.QObject, Manager):
verses = self.run_sql(u'SELECT book_id, chapter, verse, text FROM '
u'verse WHERE book_id = ? ORDER BY id', (book_id, ))
if verses:
- verse_list = []
- for verse in verses:
- verse_list.append({
- u'book_id': int(verse[0]),
- u'chapter': int(verse[1]),
- u'verse': int(verse[2]),
- u'text': unicode(verse[3])
- })
+ return [
+ {
+ u'book_id': int(verse[0]),
+ u'chapter': int(verse[1]),
+ u'verse': int(verse[2]),
+ u'text': unicode(verse[3])
+ }
+ for verse in verses
+ ]
else:
- verse_list = None
- return verse_list
-
+ return None
diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py
index 9795b0120..b799f24a9 100644
--- a/openlp/plugins/bibles/lib/http.py
+++ b/openlp/plugins/bibles/lib/http.py
@@ -241,10 +241,10 @@ class BSExtract(object):
send_error_message(u'parse')
return None
content = content.findAll(u'li')
- books = []
- for book in content:
+ return [
books.append(book.contents[0].contents[0])
- return books
+ for book in content
+ ]
class CWExtract(object):
@@ -507,12 +507,15 @@ class HTTPBible(BibleDB):
log.debug(u'HTTPBible.get_books("%s")', Book.name)
return self.get_all_objects(Book, order_by_ref=Book.id)
- def get_chapter_count(self, book_id):
+ def get_chapter_count(self, book):
"""
Return the number of chapters in a particular book.
+
+ ``book``
+ The book object to get the chapter count for.
"""
- log.debug(u'HTTPBible.get_chapter_count("%s")', book_id)
- return BiblesResourcesDB.get_chapter_count(book_id)
+ log.debug(u'HTTPBible.get_chapter_count("%s")', book.name)
+ return BiblesResourcesDB.get_chapter_count(book.book_reference_id)
def get_verse_count(self, book_id, chapter):
"""
diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py
index cab665179..7d8ca77db 100644
--- a/openlp/plugins/bibles/lib/manager.py
+++ b/openlp/plugins/bibles/lib/manager.py
@@ -208,23 +208,27 @@ class BibleManager(object):
Unicode. The Bible to get the list of books from.
"""
log.debug(u'BibleManager.get_books("%s")', bible)
- language_id = self.get_meta_data(bible, u'language_id')
- books = []
- for book in self.db_cache[bible].get_books():
- books.append(
+ return [
{
- u'name': book.name,
- u'chapters': self.db_cache[bible].get_chapter_count(
- book.book_reference_id)
- })
- return books
+ u'name': book.name,
+ u'chapters': self.db_cache[bible].get_chapter_count(
+ book)
+ }
+ for book in self.db_cache[bible].get_books()
+ ]
def get_chapter_count(self, bible, book):
"""
Returns the number of Chapters for a given book.
+
+ ``bible``
+ Unicode. The Bible to get the list of books from.
+
+ ``book``
+ The book object to get the chapter count for.
"""
log.debug(u'BibleManager.get_book_chapter_count ("%s", "%s")', bible,
- book)
+ book.name)
return self.db_cache[bible].get_chapter_count(book)
def get_verse_count(self, bible, book, chapter):
diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py
index ec65a37d0..d902772b8 100644
--- a/openlp/plugins/bibles/lib/mediaitem.py
+++ b/openlp/plugins/bibles/lib/mediaitem.py
@@ -33,7 +33,7 @@ from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \
from openlp.core.lib.searchedit import SearchEdit
from openlp.core.lib.ui import UiStrings, add_widget_completer, \
media_item_combo_box, critical_error_message_box, find_and_set_in_combo_box
-from openlp.plugins.bibles.forms import BibleImportForm, BibleReImportForm
+from openlp.plugins.bibles.forms import BibleImportForm
from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle, \
VerseReferenceList, get_reference_match
@@ -310,14 +310,6 @@ class BibleMediaItem(MediaManagerItem):
if self.import_wizard.exec_():
self.reloadBibles()
- def onReImportClick(self):
- if not hasattr(self, u'reimport_wizard'):
- self.reimport_wizard = BibleReImportForm(self, self.parent.manager,
- self.parent)
- # If the import was not cancelled then reload.
- if self.reimport_wizard.exec_():
- self.reloadBibles()
-
def loadBibles(self):
log.debug(u'Loading Bibles')
self.quickVersionComboBox.clear()
diff --git a/resources/images/bibles_reimport_alert.png b/resources/images/bibles_upgrade_alert.png
similarity index 100%
rename from resources/images/bibles_reimport_alert.png
rename to resources/images/bibles_upgrade_alert.png
diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc
index f3bfd100e..785250ab7 100644
--- a/resources/images/openlp-2.qrc
+++ b/resources/images/openlp-2.qrc
@@ -24,7 +24,7 @@
bibles_search_text.png
bibles_search_reference.png
- bibles_reimport_alert.png
+ bibles_upgrade_alert.png
plugin_alerts.png