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