forked from openlp/openlp
Biblegateway addition
This commit is contained in:
parent
3ee930f6ae
commit
03ba804be7
@ -529,7 +529,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
version = check_latest_version(self.generalConfig, applicationVersion)
|
version = check_latest_version(self.generalConfig, applicationVersion)
|
||||||
if applicationVersion != version:
|
if applicationVersion != version:
|
||||||
version_text = unicode(self.trUtf8(u'OpenLP version %s has been updated '
|
version_text = unicode(self.trUtf8(u'OpenLP version %s has been updated '
|
||||||
u'to version %s'))
|
u'to version %s\nWould you like to get it?'))
|
||||||
QtGui.QMessageBox.question(None,
|
QtGui.QMessageBox.question(None,
|
||||||
self.trUtf8(u'OpenLP Version Updated'),
|
self.trUtf8(u'OpenLP Version Updated'),
|
||||||
version_text % (applicationVersion, version),
|
version_text % (applicationVersion, version),
|
||||||
|
@ -105,4 +105,3 @@ class Ui_PluginViewDialog(object):
|
|||||||
self.StatusLabel.setText(self.trUtf8(u'Status:'))
|
self.StatusLabel.setText(self.trUtf8(u'Status:'))
|
||||||
self.StatusComboBox.setItemText(0, self.trUtf8(u'Active'))
|
self.StatusComboBox.setItemText(0, self.trUtf8(u'Active'))
|
||||||
self.StatusComboBox.setItemText(1, self.trUtf8(u'Inactive'))
|
self.StatusComboBox.setItemText(1, self.trUtf8(u'Inactive'))
|
||||||
|
|
||||||
|
@ -62,18 +62,18 @@ class AuditPlugin(Plugin):
|
|||||||
self.toolsMenu = tools_menu
|
self.toolsMenu = tools_menu
|
||||||
self.AuditMenu = QtGui.QMenu(tools_menu)
|
self.AuditMenu = QtGui.QMenu(tools_menu)
|
||||||
self.AuditMenu.setObjectName(u'AuditMenu')
|
self.AuditMenu.setObjectName(u'AuditMenu')
|
||||||
self.AuditMenu.setTitle(tools_menu.trUtf8(u'&Audit'))
|
self.AuditMenu.setTitle(tools_menu.trUtf8(u'&Song Usage'))
|
||||||
#Audit Delete
|
#Audit Delete
|
||||||
self.AuditDelete = QtGui.QAction(tools_menu)
|
self.AuditDelete = QtGui.QAction(tools_menu)
|
||||||
self.AuditDelete.setText(tools_menu.trUtf8(u'Audit &Delete'))
|
self.AuditDelete.setText(tools_menu.trUtf8(u'&Delete recorded data'))
|
||||||
self.AuditDelete.setStatusTip(
|
self.AuditDelete.setStatusTip(
|
||||||
tools_menu.trUtf8(u'Delete all audit data to sepecified date'))
|
tools_menu.trUtf8(u'Delete sing usage to sepecified date'))
|
||||||
self.AuditDelete.setObjectName(u'AuditDelete')
|
self.AuditDelete.setObjectName(u'AuditDelete')
|
||||||
#Audit Report
|
#Audit Report
|
||||||
self.AuditReport = QtGui.QAction(tools_menu)
|
self.AuditReport = QtGui.QAction(tools_menu)
|
||||||
self.AuditReport.setText(tools_menu.trUtf8(u'Au&dit &Extract'))
|
self.AuditReport.setText(tools_menu.trUtf8(u'&Extract recoreded data'))
|
||||||
self.AuditReport.setStatusTip(
|
self.AuditReport.setStatusTip(
|
||||||
tools_menu.trUtf8(u'Generate Extracts on Audit Data'))
|
tools_menu.trUtf8(u'Generate Extracts on Song Usage'))
|
||||||
self.AuditReport.setObjectName(u'AuditReport')
|
self.AuditReport.setObjectName(u'AuditReport')
|
||||||
#Audit activation
|
#Audit activation
|
||||||
AuditIcon = buildIcon(u':/tools/tools_alert.png')
|
AuditIcon = buildIcon(u':/tools/tools_alert.png')
|
||||||
@ -81,9 +81,9 @@ class AuditPlugin(Plugin):
|
|||||||
self.AuditStatus.setIcon(AuditIcon)
|
self.AuditStatus.setIcon(AuditIcon)
|
||||||
self.AuditStatus.setCheckable(True)
|
self.AuditStatus.setCheckable(True)
|
||||||
self.AuditStatus.setChecked(False)
|
self.AuditStatus.setChecked(False)
|
||||||
self.AuditStatus.setText(tools_menu.trUtf8(u'A&udit Status'))
|
self.AuditStatus.setText(tools_menu.trUtf8(u'Song Usage Status'))
|
||||||
self.AuditStatus.setStatusTip(
|
self.AuditStatus.setStatusTip(
|
||||||
tools_menu.trUtf8(u'Start/Stop live song auditing'))
|
tools_menu.trUtf8(u'Start/Stop live song usage recording'))
|
||||||
self.AuditStatus.setShortcut(u'F4')
|
self.AuditStatus.setShortcut(u'F4')
|
||||||
self.AuditStatus.setObjectName(u'AuditStatus')
|
self.AuditStatus.setObjectName(u'AuditStatus')
|
||||||
#Add Menus together
|
#Add Menus together
|
||||||
|
@ -162,6 +162,7 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
||||||
self.LocationComboBox.setObjectName(u'LocationComboBox')
|
self.LocationComboBox.setObjectName(u'LocationComboBox')
|
||||||
self.LocationComboBox.addItem(QtCore.QString())
|
self.LocationComboBox.addItem(QtCore.QString())
|
||||||
|
self.LocationComboBox.addItem(QtCore.QString())
|
||||||
self.horizontalLayout_4.addWidget(self.LocationComboBox)
|
self.horizontalLayout_4.addWidget(self.LocationComboBox)
|
||||||
self.verticalLayout.addLayout(self.horizontalLayout_4)
|
self.verticalLayout.addLayout(self.horizontalLayout_4)
|
||||||
self.horizontalLayout_5 = QtGui.QHBoxLayout()
|
self.horizontalLayout_5 = QtGui.QHBoxLayout()
|
||||||
@ -173,6 +174,7 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.BibleComboBox.setObjectName(u'BibleComboBox')
|
self.BibleComboBox.setObjectName(u'BibleComboBox')
|
||||||
self.BibleComboBox.addItem(QtCore.QString())
|
self.BibleComboBox.addItem(QtCore.QString())
|
||||||
self.BibleComboBox.setItemText(0, u'')
|
self.BibleComboBox.setItemText(0, u'')
|
||||||
|
self.BibleComboBox.setItemText(1, u'')
|
||||||
self.BibleComboBox.addItem(QtCore.QString())
|
self.BibleComboBox.addItem(QtCore.QString())
|
||||||
self.BibleComboBox.addItem(QtCore.QString())
|
self.BibleComboBox.addItem(QtCore.QString())
|
||||||
self.horizontalLayout_5.addWidget(self.BibleComboBox)
|
self.horizontalLayout_5.addWidget(self.BibleComboBox)
|
||||||
@ -246,6 +248,7 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.OptionsGroupBox.setTitle(self.trUtf8(u'Download Options'))
|
self.OptionsGroupBox.setTitle(self.trUtf8(u'Download Options'))
|
||||||
self.LocationLabel.setText(self.trUtf8(u'Location:'))
|
self.LocationLabel.setText(self.trUtf8(u'Location:'))
|
||||||
self.LocationComboBox.setItemText(0, self.trUtf8(u'Crosswalk'))
|
self.LocationComboBox.setItemText(0, self.trUtf8(u'Crosswalk'))
|
||||||
|
self.LocationComboBox.setItemText(1, self.trUtf8(u'BibleGateway'))
|
||||||
self.BibleLabel.setText(self.trUtf8(u'Bible:'))
|
self.BibleLabel.setText(self.trUtf8(u'Bible:'))
|
||||||
self.BibleComboBox.setItemText(1, self.trUtf8(u'NIV'))
|
self.BibleComboBox.setItemText(1, self.trUtf8(u'NIV'))
|
||||||
self.BibleComboBox.setItemText(2, self.trUtf8(u'KJV'))
|
self.BibleComboBox.setItemText(2, self.trUtf8(u'KJV'))
|
||||||
|
@ -50,38 +50,41 @@ class BGExtract(BibleCommon):
|
|||||||
"""
|
"""
|
||||||
log.debug(u'get_bible_chapter %s,%s,%s',
|
log.debug(u'get_bible_chapter %s,%s,%s',
|
||||||
version, bookname, chapter)
|
version, bookname, chapter)
|
||||||
|
version=u'nasb'
|
||||||
urlstring = \
|
urlstring = \
|
||||||
u'http://www.biblegateway.com/passage/?search=%s %s&version=%s' % \
|
u'http://www.biblegateway.com/passage/?search=%s %s&version=%s' % \
|
||||||
(bookname, unicode(chapter) , version)
|
(bookname, unicode(chapter) , version)
|
||||||
xml_string = self._get_web_text(urlstring, self.proxyurl)
|
xml_string = self._get_web_text(urlstring, self.proxyurl)
|
||||||
VerseSearch = u'class=' + u'"' + u'sup' + u'"' + u'>'
|
#print xml_string
|
||||||
|
verseSearch = u'<sup class='
|
||||||
verse = 1
|
verse = 1
|
||||||
i = xml_string.find(u'result-text-style-normal')
|
i = xml_string.find(u'result-text-style-normal') + 26
|
||||||
xml_string = xml_string[i:len(xml_string)]
|
xml_string = xml_string[i:len(xml_string)]
|
||||||
versePos = xml_string.find(VerseSearch)
|
versePos = xml_string.find(verseSearch)
|
||||||
bible = {}
|
bible = {}
|
||||||
while versePos > -1:
|
while versePos > -1:
|
||||||
# clear out string
|
# clear out string
|
||||||
verseText = u''
|
verseText = u''
|
||||||
versePos = xml_string.find(u'</span', versePos)
|
versePos = xml_string.find(u'</sup>', versePos) + 6
|
||||||
i = xml_string.find(VerseSearch, versePos+1)
|
i = xml_string.find(verseSearch, versePos + 1)
|
||||||
|
#print versePos, i, xml_string[versePos:i]#, xml_string
|
||||||
if i == -1:
|
if i == -1:
|
||||||
i = xml_string.find(u'</div', versePos+1)
|
i = xml_string.find(u'</div', versePos + 1)
|
||||||
j = xml_string.find(u'<strong', versePos+1)
|
j = xml_string.find(u'<strong', versePos + 1)
|
||||||
if j > 0 and j < i:
|
if j > 0 and j < i:
|
||||||
i = j
|
i = j
|
||||||
verseText = xml_string[versePos + 7 : i ]
|
verseText = xml_string[versePos + 7 : i ]
|
||||||
bible[verse] = self._clean_text(verseText) # store the verse
|
bible[verse] = self._clean_text(verseText) # store the verse
|
||||||
versePos = -1
|
versePos = -1
|
||||||
else:
|
else:
|
||||||
i = xml_string[:i].rfind(u'<span') + 1
|
verseText = xml_string[versePos: i]
|
||||||
verseText = xml_string[versePos + 7 : i - 1] # Loose </span>
|
# Chop off verse and start again
|
||||||
# Chop off verse 1
|
xml_string = xml_string[i:]
|
||||||
xml_string = xml_string[i - 1 :len(xml_string)]
|
#print "C", xml_string
|
||||||
versePos = xml_string.find(VerseSearch) #look for the next verse
|
versePos = xml_string.find(verseSearch) #look for the next verse
|
||||||
bible[verse] = self._clean_text(verseText) # store the verse
|
bible[verse] = self._clean_text(verseText) # store the verse
|
||||||
verse += 1
|
verse += 1
|
||||||
return bible
|
return SearchResults(bookname, chapter, bible)
|
||||||
|
|
||||||
class CWExtract(BibleCommon):
|
class CWExtract(BibleCommon):
|
||||||
global log
|
global log
|
||||||
@ -107,8 +110,8 @@ class CWExtract(BibleCommon):
|
|||||||
``chapter``
|
``chapter``
|
||||||
Chapter number
|
Chapter number
|
||||||
"""
|
"""
|
||||||
log.debug(u'get_bible_chapter %s,%s,%s,%s',
|
log.debug(u'get_bible_chapter %s,%s,%s',
|
||||||
version, bookid, bookname, chapter)
|
version, bookname, chapter)
|
||||||
bookname = bookname.replace(u' ', u'')
|
bookname = bookname.replace(u' ', u'')
|
||||||
urlstring = u'http://bible.crosswalk.com/OnlineStudyBible/bible.cgi?word=%s+%d&version=%s'\
|
urlstring = u'http://bible.crosswalk.com/OnlineStudyBible/bible.cgi?word=%s+%d&version=%s'\
|
||||||
% (bookname, chapter, version)
|
% (bookname, chapter, version)
|
||||||
@ -200,18 +203,18 @@ class BibleHTTPImpl():
|
|||||||
log.debug(u'set_bible_source %s', biblesource)
|
log.debug(u'set_bible_source %s', biblesource)
|
||||||
self.biblesource = biblesource
|
self.biblesource = biblesource
|
||||||
|
|
||||||
def get_bible_chapter(self, version, bookid, bookname, chapter):
|
def get_bible_chapter(self, version, bookname, chapter):
|
||||||
"""
|
"""
|
||||||
Receive the request and call the relevant handler methods
|
Receive the request and call the relevant handler methods
|
||||||
"""
|
"""
|
||||||
log.debug(u'get_bible_chapter %s,%s,%s,%s',
|
log.debug(u'get_bible_chapter %s,%s,%s',
|
||||||
version, bookid, bookname, chapter)
|
version, bookname, chapter)
|
||||||
log.debug(u'biblesource = %s', self.biblesource)
|
log.debug(u'biblesource = %s', self.biblesource)
|
||||||
try:
|
try:
|
||||||
if self.biblesource.lower() == u'crosswalk':
|
if self.biblesource.lower() == u'crosswalk':
|
||||||
ev = CWExtract(self.proxyurl)
|
ev = CWExtract(self.proxyurl)
|
||||||
else:
|
else:
|
||||||
ev = BGExtract(self.proxyurl)
|
ev = BGExtract(self.proxyurl)
|
||||||
return ev.get_bible_chapter(self.bibleid, bookid, bookname, chapter)
|
return ev.get_bible_chapter(self.bibleid, bookname, chapter)
|
||||||
except:
|
except:
|
||||||
log.exception("Failed to get bible chapter")
|
log.exception("Failed to get bible chapter")
|
||||||
|
@ -351,10 +351,10 @@ class BibleManager(object):
|
|||||||
log.debug(u'get_verse_text : new book')
|
log.debug(u'get_verse_text : new book')
|
||||||
for chapter in range(schapter, echapter + 1):
|
for chapter in range(schapter, echapter + 1):
|
||||||
self.media.setQuickMessage(
|
self.media.setQuickMessage(
|
||||||
self.trUtf8(u'Downloading %s: %s') % (bookname, chapter))
|
unicode(self.media.trUtf8(u'Downloading %s: %s')) % (bookname, chapter))
|
||||||
search_results = \
|
search_results = \
|
||||||
self.bible_http_cache[bible].get_bible_chapter(
|
self.bible_http_cache[bible].get_bible_chapter(
|
||||||
bible, 0, bookname, chapter)
|
bible, bookname, chapter)
|
||||||
if search_results.has_verselist() :
|
if search_results.has_verselist() :
|
||||||
## We have found a book of the bible lets check to see
|
## We have found a book of the bible lets check to see
|
||||||
## if it was there. By reusing the returned book name
|
## if it was there. By reusing the returned book name
|
||||||
@ -380,7 +380,7 @@ class BibleManager(object):
|
|||||||
book.id, chapter)
|
book.id, chapter)
|
||||||
if v is None:
|
if v is None:
|
||||||
self.media.setQuickMessage(
|
self.media.setQuickMessage(
|
||||||
self.trUtf8(u'%Downloading %s: %s')\
|
unicode(self.media.trUtf8(u'%Downloading %s: %s'))\
|
||||||
% (bookname, chapter))
|
% (bookname, chapter))
|
||||||
self.bible_db_cache[bible].create_chapter(
|
self.bible_db_cache[bible].create_chapter(
|
||||||
book.id, chapter,
|
book.id, chapter,
|
||||||
@ -392,8 +392,9 @@ class BibleManager(object):
|
|||||||
book.id, chapter)
|
book.id, chapter)
|
||||||
if v is None:
|
if v is None:
|
||||||
try:
|
try:
|
||||||
self.media.setQuickMessage \
|
self.media.setQuickMessage =\
|
||||||
(u'Downloading %s: %s'% (bookname, chapter))
|
unicode(self.media.trUtf8(u'Downloading %s: %s')
|
||||||
|
% (bookname, chapter))
|
||||||
search_results = \
|
search_results = \
|
||||||
self.bible_http_cache[bible].get_bible_chapter(
|
self.bible_http_cache[bible].get_bible_chapter(
|
||||||
bible, book.id, bookname, chapter)
|
bible, book.id, bookname, chapter)
|
||||||
|
@ -65,6 +65,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
|||||||
QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertButtonTriggered)
|
QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertButtonTriggered)
|
||||||
QtCore.QObject.connect(self.VerseAddButton,
|
QtCore.QObject.connect(self.VerseAddButton,
|
||||||
QtCore.SIGNAL(u'clicked()'), self.onVerseAddButtonClicked)
|
QtCore.SIGNAL(u'clicked()'), self.onVerseAddButtonClicked)
|
||||||
|
QtCore.QObject.connect(self.VerseListWidget,
|
||||||
|
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onVerseEditButtonClicked)
|
||||||
QtCore.QObject.connect(self.VerseEditButton,
|
QtCore.QObject.connect(self.VerseEditButton,
|
||||||
QtCore.SIGNAL(u'clicked()'), self.onVerseEditButtonClicked)
|
QtCore.SIGNAL(u'clicked()'), self.onVerseEditButtonClicked)
|
||||||
QtCore.QObject.connect(self.VerseEditAllButton,
|
QtCore.QObject.connect(self.VerseEditAllButton,
|
||||||
@ -94,7 +96,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
|||||||
QtCore.QObject.connect(self.VerseOrderEdit,
|
QtCore.QObject.connect(self.VerseOrderEdit,
|
||||||
QtCore.SIGNAL(u'lostFocus()'), self.onVerseOrderEditLostFocus)
|
QtCore.SIGNAL(u'lostFocus()'), self.onVerseOrderEditLostFocus)
|
||||||
previewButton = QtGui.QPushButton()
|
previewButton = QtGui.QPushButton()
|
||||||
previewButton.setText(self.trUtf8(u'Save & Preview'))
|
previewButton.setText(self.trUtf8(u'Save && Preview'))
|
||||||
self.ButtonBox.addButton(previewButton, QtGui.QDialogButtonBox.ActionRole)
|
self.ButtonBox.addButton(previewButton, QtGui.QDialogButtonBox.ActionRole)
|
||||||
QtCore.QObject.connect(self.ButtonBox,
|
QtCore.QObject.connect(self.ButtonBox,
|
||||||
QtCore.SIGNAL(u'clicked(QAbstractButton*)'), self.onPreview)
|
QtCore.SIGNAL(u'clicked(QAbstractButton*)'), self.onPreview)
|
||||||
|
Loading…
Reference in New Issue
Block a user