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