Merge lp:~trb143/openlp/bitsandbobs into lp:openlp

Proposed by Tim Bentley
Status: Superseded
Proposed branch: lp:~trb143/openlp/bitsandbobs
Merge into: lp:openlp
Diff against target: 562 lines
7 files modified
openlp/core/lib/mediamanageritem.py (+30/-21)
openlp/core/utils/__init__.py (+3/-1)
openlp/plugins/bibles/lib/bibleDBimpl.py (+8/-2)
openlp/plugins/bibles/lib/common.py (+2/-1)
openlp/plugins/bibles/lib/manager.py (+40/-20)
openlp/plugins/bibles/lib/mediaitem.py (+36/-22)
openlp/plugins/bibles/resources/httpbooks.csv (+66/-66)
To merge this branch: bzr merge lp:~trb143/openlp/bitsandbobs
Reviewer Review Type Date Requested Status
OpenLP Core Pending
Review via email: mp+13359@code.launchpad.net

This proposal has been superseded by a proposal from 2009-10-14.

To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

Added Web bibles to Advanced tab.
Fixed error handing in bibles for incomplete loaded bibles
Add Error handling to version_check code

lp:~trb143/openlp/bitsandbobs updated
598. By Jonathan Corwin

TLC for the asv

599. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/versionfix

600. By Tim Bentley

Add Web Bibles to Advanced Tab and other nice features

601. By Jonathan Corwin

Presentation changes

602. By Tim Bentley

Update config files for deployment

603. By Tim Bentley

Changes to settings and SlideController handling

604. By Jon Tibble

Python 2.5 fixes

605. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/uifixes

606. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/uifixes

607. By Jonathan Corwin

Merged in lp:~j-corwin/openlp/present

608. By Raoul Snyman

Merged lp:~raoul-snyman/openlp/uifixes

609. By Tim Bentley

Theme Image and Presentation fixes

610. By Jon Tibble

General fixes

611. By Tim Bentley

General Tab Changes

612. By Tim Bentley

SlideControler UI fixes

613. By Tim Bentley

SlideControler UI fixes - take 2

614. By Tim Bentley

SlideControler UI fixes - take 3

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py 2009-10-10 18:36:58 +0000
+++ openlp/core/lib/mediamanageritem.py 2009-10-14 18:31:13 +0000
@@ -206,63 +206,72 @@
206 if self.hasFileIcon:206 if self.hasFileIcon:
207 self.addToolbarButton(207 self.addToolbarButton(
208 translate(208 translate(
209 self.TranslationContext, u'Load ' + self.PluginTextShort),209 self.TranslationContext, u'Load %s' % self.PluginTextShort),
210 translate(210 translate(
211 self.TranslationContext,211 self.TranslationContext,
212 u'Load a new ' + self.PluginTextShort),212 u'Load a new %s' % self.PluginTextShort),
213 u':' + self.IconPath + u'_load.png', self.onFileClick,213 u':%s_load.png' % self.IconPath,
214 self.PluginTextShort + u'FileItem')214 self.onFileClick,
215 u'%sFileItem' %self.PluginTextShort)
215 ## New Button ##216 ## New Button ##
216 if self.hasNewIcon:217 if self.hasNewIcon:
217 self.addToolbarButton(218 self.addToolbarButton(
218 translate(219 translate(
219 self.TranslationContext, u'New ' + self.PluginTextShort),220 self.TranslationContext, u'New %s' % self.PluginTextShort),
220 translate(221 translate(
221 self.TranslationContext,222 self.TranslationContext,
222 u'Add a new ' + self.PluginTextShort),223 u'Add a new %s' % self.PluginTextShort),
223 u':' + self.IconPath + u'_new.png', self.onNewClick,224 u':%s_new.png' % self.IconPath,
224 self.PluginTextShort + u'NewItem')225 self.onNewClick,
226 u'%sNewItem' % self.PluginTextShort)
225 ## Edit Button ##227 ## Edit Button ##
226 if self.hasEditIcon:228 if self.hasEditIcon:
227 self.addToolbarButton(229 self.addToolbarButton(
228 translate(230 translate(
229 self.TranslationContext, u'Edit ' + self.PluginTextShort),231 self.TranslationContext, u'Edit %s' % self.PluginTextShort),
230 translate(232 translate(
231 self.TranslationContext,233 self.TranslationContext,
232 u'Edit the selected ' + self.PluginTextShort),234 u'Edit the selected %s' % self.PluginTextShort),
233 u':' + self.IconPath + u'_edit.png', self.onEditClick,235 u':%s_edit.png' % self.IconPath,
234 self.PluginTextShort + u'EditItem')236 self.onEditClick,
237 u'%sEditItem' % self.PluginTextShort)
235 ## Delete Button ##238 ## Delete Button ##
236 if self.hasDeleteIcon:239 if self.hasDeleteIcon:
237 self.addToolbarButton(240 self.addToolbarButton(
238 translate(241 translate(
239 self.TranslationContext, u'Delete ' + self.PluginTextShort),242 self.TranslationContext, u'Delete %s' % self.PluginTextShort),
240 translate(self.TranslationContext, u'Delete the selected item'),243 translate(self.TranslationContext, u'Delete the selected item'),
241 u':' + self.IconPath + u'_delete.png', self.onDeleteClick,244 u':%s_delete.png' % self.IconPath,
242 self.PluginTextShort + u'DeleteItem')245 self.onDeleteClick,
246 u'%sDeleteItem' % self.PluginTextShort)
243 ## Separator Line ##247 ## Separator Line ##
244 self.addToolbarSeparator()248 self.addToolbarSeparator()
245 ## Preview ##249 ## Preview ##
246 self.addToolbarButton(250 self.addToolbarButton(
247 translate(251 translate(
248 self.TranslationContext, u'Preview ' + self.PluginTextShort),252 self.TranslationContext, u'Preview %s' % self.PluginTextShort),
249 translate(self.TranslationContext, u'Preview the selected item'),253 translate(self.TranslationContext, u'Preview the selected item'),
250 u':/system/system_preview.png', self.onPreviewClick, u'PreviewItem')254 u':/system/system_preview.png',
255 self.onPreviewClick,
256 u'PreviewItem')
251 ## Live Button ##257 ## Live Button ##
252 self.addToolbarButton(258 self.addToolbarButton(
253 translate(self.TranslationContext, u'Go Live'),259 translate(self.TranslationContext, u'Go Live'),
254 translate(self.TranslationContext, u'Send the selected item live'),260 translate(self.TranslationContext, u'Send the selected item live'),
255 u':/system/system_live.png', self.onLiveClick, u'LiveItem')261 u':/system/system_live.png',
262 self.onLiveClick,
263 u'LiveItem')
256 ## Add to service Button ##264 ## Add to service Button ##
257 self.addToolbarButton(265 self.addToolbarButton(
258 translate(266 translate(
259 self.TranslationContext,267 self.TranslationContext,
260 u'Add ' + self.PluginTextShort + u' To Service'),268 u'Add %s to Service' % self.PluginTextShort),
261 translate(269 translate(
262 self.TranslationContext,270 self.TranslationContext,
263 u'Add the selected item(s) to the service'),271 u'Add the selected item(s) to the service'),
264 u':/system/system_add.png', self.onAddClick,272 u':/system/system_add.png',
265 self.PluginTextShort + u'AddItem')273 self.onAddClick,
274 u'%sAddServiceItem' % self.PluginTextShort)
266275
267 def addListViewToToolBar(self):276 def addListViewToToolBar(self):
268 #Add the List widget277 #Add the List widget
269278
=== modified file 'openlp/core/utils/__init__.py'
--- openlp/core/utils/__init__.py 2009-10-14 17:52:50 +0000
+++ openlp/core/utils/__init__.py 2009-10-14 18:31:13 +0000
@@ -28,6 +28,8 @@
28from registry import Registry28from registry import Registry
29from confighelper import ConfigHelper29from confighelper import ConfigHelper
3030
31log = logging.getLogger(__name__)
32
31__all__ = ['Registry', 'ConfigHelper']33__all__ = ['Registry', 'ConfigHelper']
3234
33log = logging.getLogger(__name__)35log = logging.getLogger(__name__)
@@ -40,7 +42,7 @@
40 if lastTest != thisTest:42 if lastTest != thisTest:
41 version_string = u''43 version_string = u''
42 req = urllib2.Request(u'http://www.openlp.org/files/version.txt')44 req = urllib2.Request(u'http://www.openlp.org/files/version.txt')
43 req.add_header(u'User-Agent', u'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')45 req.add_header(u'User-Agent', u'OpenLP%s' % current_version)
44 try:46 try:
45 handle = urllib2.urlopen(req, None, 1)47 handle = urllib2.urlopen(req, None, 1)
46 html = handle.read()48 html = handle.read()
4749
=== modified file 'openlp/plugins/bibles/lib/bibleDBimpl.py'
--- openlp/plugins/bibles/lib/bibleDBimpl.py 2009-09-25 23:06:54 +0000
+++ openlp/plugins/bibles/lib/bibleDBimpl.py 2009-10-14 18:31:13 +0000
@@ -127,13 +127,19 @@
127 verse = self.session.query(Verse).join(Book).filter(127 verse = self.session.query(Verse).join(Book).filter(
128 Book.name == bookname).filter(128 Book.name == bookname).filter(
129 Verse.chapter == chapter).order_by(Verse.verse.desc()).first()129 Verse.chapter == chapter).order_by(Verse.verse.desc()).first()
130 return verse.verse130 if verse == None:
131 return 0
132 else:
133 return verse.verse
131134
132 def get_max_bible_book_chapter(self, bookname):135 def get_max_bible_book_chapter(self, bookname):
133 log.debug(u'get_max_bible_book_chapter %s', bookname)136 log.debug(u'get_max_bible_book_chapter %s', bookname)
134 verse = self.session.query(Verse).join(Book).filter(137 verse = self.session.query(Verse).join(Book).filter(
135 Book.name == bookname).order_by(Verse.chapter.desc()).first()138 Book.name == bookname).order_by(Verse.chapter.desc()).first()
136 return verse.chapter139 if verse == None:
140 return 0
141 else:
142 return verse.chapter
137143
138 def get_bible_book(self, bookname):144 def get_bible_book(self, bookname):
139 log.debug(u'get_bible_book %s', bookname)145 log.debug(u'get_bible_book %s', bookname)
140146
=== modified file 'openlp/plugins/bibles/lib/common.py'
--- openlp/plugins/bibles/lib/common.py 2009-09-28 20:45:04 +0000
+++ openlp/plugins/bibles/lib/common.py 2009-10-14 18:31:13 +0000
@@ -104,7 +104,8 @@
104 urllib2.install_opener(opener)104 urllib2.install_opener(opener)
105 xml_string = u''105 xml_string = u''
106 req = urllib2.Request(urlstring)106 req = urllib2.Request(urlstring)
107 req.add_header(u'User-Agent', u'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')107 #Make us look like an IE Browser on XP to stop blocking by web site
108 req.add_header(u'User-Agent', u'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)')
108 try:109 try:
109 handle = urllib2.urlopen(req)110 handle = urllib2.urlopen(req)
110 html = handle.read()111 html = handle.read()
111112
=== modified file 'openlp/plugins/bibles/lib/manager.py'
--- openlp/plugins/bibles/lib/manager.py 2009-09-27 12:56:14 +0000
+++ openlp/plugins/bibles/lib/manager.py 2009-10-14 18:31:13 +0000
@@ -25,6 +25,8 @@
25import logging25import logging
26import os26import os
2727
28from openlp.core.lib import translate
29
28from bibleOSISimpl import BibleOSISImpl30from bibleOSISimpl import BibleOSISImpl
29from bibleCSVimpl import BibleCSVImpl31from bibleCSVimpl import BibleCSVImpl
30from bibleDBimpl import BibleDBImpl32from bibleDBimpl import BibleDBImpl
@@ -55,6 +57,7 @@
55 """57 """
56 self.config = config58 self.config = config
57 log.debug(u'Bible Initialising')59 log.debug(u'Bible Initialising')
60 self.web = translate(u'BibleManager', u'Web')
58 # dict of bible database objects61 # dict of bible database objects
59 self.bible_db_cache = None62 self.bible_db_cache = None
60 # dict of bible http readers63 # dict of bible http readers
@@ -83,6 +86,8 @@
83 self.bible_http_cache = {}86 self.bible_http_cache = {}
84 # books of the bible with testaments87 # books of the bible with testaments
85 self.book_testaments = {}88 self.book_testaments = {}
89 # books of the bible with chapter count
90 self.book_chapters = []
86 # books of the bible with abbreviation91 # books of the bible with abbreviation
87 self.book_abbreviations = {}92 self.book_abbreviations = {}
88 self.web_bibles_present = False93 self.web_bibles_present = False
@@ -126,6 +131,7 @@
126 p = line.split(u',')131 p = line.split(u',')
127 self.book_abbreviations[p[0]] = p[1].replace(u'\n', '')132 self.book_abbreviations[p[0]] = p[1].replace(u'\n', '')
128 self.book_testaments[p[0]] = p[2].replace(u'\n', '')133 self.book_testaments[p[0]] = p[2].replace(u'\n', '')
134 self.book_chapters.append({u'book':p[0], u'total':p[3].replace(u'\n', '')})
129 log.debug(u'Bible Initialised')135 log.debug(u'Bible Initialised')
130136
131 def process_dialog(self, dialogobject):137 def process_dialog(self, dialogobject):
@@ -247,33 +253,34 @@
247 ``BibleMode.Full`` this method returns all the Bibles for the253 ``BibleMode.Full`` this method returns all the Bibles for the
248 Advanced Search, and when the mode is ``BibleMode.Partial``254 Advanced Search, and when the mode is ``BibleMode.Partial``
249 this method returns all the bibles for the Quick Search.255 this method returns all the bibles for the Quick Search.
250
251c
252 """256 """
253 log.debug(u'get_bibles')257 log.debug(u'get_bibles')
254 bible_list = []258 bible_list = []
255 for bible_name, bible_object in self.bible_db_cache.iteritems():259 for bible_name, bible_object in self.bible_db_cache.iteritems():
256 if mode == BibleMode.Full:260 if self.bible_http_cache[bible_name] is not None:
257 bible_list.append(bible_name)261 bible_name = u'%s (%s)' % (bible_name, self.web)
258 else:262 bible_list.append(bible_name)
259 if self.bible_http_cache[bible_name] is None:
260 # we do not have an http bible
261 bible_list.append(bible_name)
262 return bible_list263 return bible_list
263264
264 def get_bible_books(self,bible):265 def is_bible_web(self, bible):
265 """266 pos_end = bible.find(u' (%s)' % self.web)
266 Returns a list of the books of the bible from the database267 if pos_end != -1:
267 """268 return True, bible[:pos_end]
268 log.debug(u'get_bible_books %s', bible)269 return False, bible
269 return self.bible_db_cache[bible].get_bible_books()270
270271 def get_bible_books(self):
271 def get_book_chapter_count(self, bible, book):272 """
273 Returns a list of the books of the bible
274 """
275 log.debug(u'get_bible_books')
276 return self.book_chapters
277
278 def get_book_chapter_count(self, book):
272 """279 """
273 Returns the number of Chapters for a given book280 Returns the number of Chapters for a given book
274 """281 """
275 log.debug(u'get_book_chapter_count %s, %s', bible, book)282 log.debug(u'get_book_chapter_count %s', book)
276 return self.bible_db_cache[bible].get_max_bible_book_chapter(book)283 return self.book_chapters[book]
277284
278 def get_book_verse_count(self, bible, book, chapter):285 def get_book_verse_count(self, bible, book, chapter):
279 """286 """
@@ -281,8 +288,18 @@
281 book and chapterMaxBibleBookVerses288 book and chapterMaxBibleBookVerses
282 """289 """
283 log.debug(u'get_book_verse_count %s,%s,%s', bible, book, chapter)290 log.debug(u'get_book_verse_count %s,%s,%s', bible, book, chapter)
284 return self.bible_db_cache[bible].get_max_bible_book_verses(291 web, bible = self.is_bible_web(bible)
285 book, chapter)292 if web:
293 count = self.bible_db_cache[bible].get_max_bible_book_verses(
294 book, chapter)
295 if count == 0:
296 text = self.get_verse_text(bible, book, chapter, chapter, 1, 1)
297 count = self.bible_db_cache[bible].get_max_bible_book_verses(
298 book, chapter)
299 return count
300 else:
301 return self.bible_db_cache[bible].get_max_bible_book_verses(
302 book, chapter)
286303
287 def get_verse_from_text(self, bible, versetext):304 def get_verse_from_text(self, bible, versetext):
288 """305 """
@@ -290,6 +307,7 @@
290 book and chapterMaxBibleBookVerses307 book and chapterMaxBibleBookVerses
291 """308 """
292 log.debug(u'get_verses_from_text %s,%s', bible, versetext)309 log.debug(u'get_verses_from_text %s,%s', bible, versetext)
310 web, bible = self.is_bible_web(bible)
293 return self.bible_db_cache[bible].get_verses_from_text(versetext)311 return self.bible_db_cache[bible].get_verses_from_text(versetext)
294312
295 def save_meta_data(self, bible, version, copyright, permissions):313 def save_meta_data(self, bible, version, copyright, permissions):
@@ -307,6 +325,7 @@
307 Returns the meta data for a given key325 Returns the meta data for a given key
308 """326 """
309 log.debug(u'get_meta %s,%s', bible, key)327 log.debug(u'get_meta %s,%s', bible, key)
328 web, bible = self.is_bible_web(bible)
310 return self.bible_db_cache[bible].get_meta(key)329 return self.bible_db_cache[bible].get_meta(key)
311330
312 def get_verse_text(self, bible, bookname, schapter, echapter, sverse,331 def get_verse_text(self, bible, bookname, schapter, echapter, sverse,
@@ -327,6 +346,7 @@
327 bible, bookname, schapter, echapter, sverse, everse)346 bible, bookname, schapter, echapter, sverse, everse)
328 # check to see if book/chapter exists fow HTTP bibles and load cache347 # check to see if book/chapter exists fow HTTP bibles and load cache
329 # if necessary348 # if necessary
349 web, bible = self.is_bible_web(bible)
330 if self.bible_http_cache[bible] is not None:350 if self.bible_http_cache[bible] is not None:
331 book = self.bible_db_cache[bible].get_bible_book(bookname)351 book = self.bible_db_cache[bible].get_bible_book(bookname)
332 if book is None:352 if book is None:
333353
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2009-10-10 04:56:25 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2009-10-14 18:31:13 +0000
@@ -54,7 +54,8 @@
54 self.ServiceItemIconName = u':/media/bible_image.png'54 self.ServiceItemIconName = u':/media/bible_image.png'
55 self.servicePath = None55 self.servicePath = None
56 MediaManagerItem.__init__(self, parent, icon, title)56 MediaManagerItem.__init__(self, parent, icon, title)
57 self.search_results = {} # place to store the search results57 # place to store the search results
58 self.search_results = {}
58 QtCore.QObject.connect(Receiver().get_receiver(),59 QtCore.QObject.connect(Receiver().get_receiver(),
59 QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)60 QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)
6061
@@ -180,6 +181,9 @@
180 self.AdvancedSecondBibleComboBox = QtGui.QComboBox(self.AdvancedTab)181 self.AdvancedSecondBibleComboBox = QtGui.QComboBox(self.AdvancedTab)
181 self.AdvancedSecondBibleComboBox.setObjectName(u'SecondBible')182 self.AdvancedSecondBibleComboBox.setObjectName(u'SecondBible')
182 self.AdvancedVerticalLayout.addWidget(self.AdvancedSecondBibleComboBox)183 self.AdvancedVerticalLayout.addWidget(self.AdvancedSecondBibleComboBox)
184 self.AdvancedMessage = QtGui.QLabel(self.QuickTab)
185 self.AdvancedMessage.setObjectName(u'AdvancedMessage')
186 self.AdvancedVerticalLayout.addWidget(self.AdvancedMessage)
183 self.SearchTabWidget.addTab(self.AdvancedTab, u'Advanced')187 self.SearchTabWidget.addTab(self.AdvancedTab, u'Advanced')
184 # Add the search tab widget to the page layout188 # Add the search tab widget to the page layout
185 self.PageLayout.addWidget(self.SearchTabWidget)189 self.PageLayout.addWidget(self.SearchTabWidget)
@@ -242,6 +246,7 @@
242246
243 def setQuickMessage(self, text):247 def setQuickMessage(self, text):
244 self.QuickMessage.setText(translate(u'BibleMediaItem', unicode(text)))248 self.QuickMessage.setText(translate(u'BibleMediaItem', unicode(text)))
249 self.AdvancedMessage.setText(translate(u'BibleMediaItem', unicode(text)))
245 Receiver().send_message(u'process_events')250 Receiver().send_message(u'process_events')
246 #minor delay to get the events processed251 #minor delay to get the events processed
247 time.sleep(0.1)252 time.sleep(0.1)
@@ -276,9 +281,11 @@
276 unicode(self.AdvancedVersionComboBox.currentText()))281 unicode(self.AdvancedVersionComboBox.currentText()))
277282
278 def onAdvancedBookComboBox(self):283 def onAdvancedBookComboBox(self):
284 item = int(self.AdvancedBookComboBox.currentIndex())
279 self.initialiseChapterVerse(285 self.initialiseChapterVerse(
280 unicode(self.AdvancedVersionComboBox.currentText()),286 unicode(self.AdvancedVersionComboBox.currentText()),
281 unicode(self.AdvancedBookComboBox.currentText()))287 unicode(self.AdvancedBookComboBox.currentText()),
288 self.AdvancedBookComboBox.itemData(item).toInt()[0])
282289
283 def onNewClick(self):290 def onNewClick(self):
284 self.bibleimportform = BibleImportForm(291 self.bibleimportform = BibleImportForm(
@@ -291,14 +298,14 @@
291 self.adjustComboBox(frm, self.verses, self.AdvancedToVerse)298 self.adjustComboBox(frm, self.verses, self.AdvancedToVerse)
292299
293 def onAdvancedToChapter(self):300 def onAdvancedToChapter(self):
294 text1 = self.AdvancedFromChapter.currentText()301 text1 = unicode(self.AdvancedFromChapter.currentText())
295 text2 = self.AdvancedToChapter.currentText()302 text2 = unicode(self.AdvancedToChapter.currentText())
296 if text1 != text2:303 if text1 != text2:
297 bible = unicode(self.AdvancedVersionComboBox.currentText())304 bible = unicode(self.AdvancedVersionComboBox.currentText())
298 book = unicode(self.AdvancedBookComboBox.currentText())305 book = unicode(self.AdvancedBookComboBox.currentText())
299 # get the verse count for new chapter306 # get the verse count for new chapter
300 verses = self.parent.biblemanager.get_book_verse_count(307 verses = self.parent.biblemanager.get_book_verse_count(
301 bible, book, int(text2))[0]308 bible, book, int(text2))
302 self.adjustComboBox(1, verses, self.AdvancedToVerse)309 self.adjustComboBox(1, verses, self.AdvancedToVerse)
303310
304 def onAdvancedSearchButton(self):311 def onAdvancedSearchButton(self):
@@ -318,11 +325,10 @@
318 def onAdvancedFromChapter(self):325 def onAdvancedFromChapter(self):
319 bible = unicode(self.AdvancedVersionComboBox.currentText())326 bible = unicode(self.AdvancedVersionComboBox.currentText())
320 book = unicode(self.AdvancedBookComboBox.currentText())327 book = unicode(self.AdvancedBookComboBox.currentText())
321 cf = self.AdvancedFromChapter.currentText()328 cf = int(self.AdvancedFromChapter.currentText())
322 self.adjustComboBox(cf, self.chapters_from, self.AdvancedToChapter)329 self.adjustComboBox(cf, self.chapters_from, self.AdvancedToChapter)
323 # get the verse count for new chapter330 # get the verse count for new chapter
324 vse = self.parent.biblemanager.get_book_verse_count(bible, book,331 vse = self.parent.biblemanager.get_book_verse_count(bible, book, cf)
325 int(cf))[0]
326 self.adjustComboBox(1, vse, self.AdvancedFromVerse)332 self.adjustComboBox(1, vse, self.AdvancedFromVerse)
327 self.adjustComboBox(1, vse, self.AdvancedToVerse)333 self.adjustComboBox(1, vse, self.AdvancedToVerse)
328334
@@ -432,30 +438,38 @@
432438
433 def initialiseBible(self, bible):439 def initialiseBible(self, bible):
434 log.debug(u'initialiseBible %s', bible)440 log.debug(u'initialiseBible %s', bible)
435 books = self.parent.biblemanager.get_bible_books(unicode(bible))441 book_data = self.parent.biblemanager.get_bible_books()
436 self.AdvancedBookComboBox.clear()442 self.AdvancedBookComboBox.clear()
437 first = True443 first = True
438 for book in books:444 for book in book_data:
439 self.AdvancedBookComboBox.addItem(book.name)445 row = self.AdvancedBookComboBox.count()
446 self.AdvancedBookComboBox.addItem(book[u'book'])
447 self.AdvancedBookComboBox.setItemData(row, QtCore.QVariant(book[u'total']))
440 if first:448 if first:
441 first = False449 first = False
442 self.initialiseChapterVerse(bible, book.name)450 self.initialiseChapterVerse(bible, book[u'book'], book[u'total'])
443451
444 def initialiseChapterVerse(self, bible, book):452 def initialiseChapterVerse(self, bible, book, chapters):
445 log.debug(u'initialiseChapterVerse %s, %s', bible, book)453 log.debug(u'initialiseChapterVerse %s, %s', bible, book)
446 self.chapters_from = self.parent.biblemanager.get_book_chapter_count(454 self.chapters_from = chapters
447 bible, book)
448 self.verses = self.parent.biblemanager.get_book_verse_count(bible,455 self.verses = self.parent.biblemanager.get_book_verse_count(bible,
449 book, 1)456 book, 1)
450 self.adjustComboBox(1, self.chapters_from, self.AdvancedFromChapter)457 if self.verses == 0:
451 self.adjustComboBox(1, self.chapters_from, self.AdvancedToChapter)458 self.AdvancedSearchButton.setEnabled(False)
452 self.adjustComboBox(1, self.verses, self.AdvancedFromVerse)459 self.AdvancedMessage.setText(
453 self.adjustComboBox(1, self.verses, self.AdvancedToVerse)460 translate(u'BibleMediaItem', u'Bible not fully loaded'))
461 else:
462 self.AdvancedSearchButton.setEnabled(True)
463 self.AdvancedMessage.setText(u'')
464 self.adjustComboBox(1, self.chapters_from, self.AdvancedFromChapter)
465 self.adjustComboBox(1, self.chapters_from, self.AdvancedToChapter)
466 self.adjustComboBox(1, self.verses, self.AdvancedFromVerse)
467 self.adjustComboBox(1, self.verses, self.AdvancedToVerse)
454468
455 def adjustComboBox(self, frm, to, combo):469 def adjustComboBox(self, range_from, range_to, combo):
456 log.debug(u'adjustComboBox %s, %s, %s', combo, frm, to)470 log.debug(u'adjustComboBox %s, %s, %s', combo, range_from, range_to)
457 combo.clear()471 combo.clear()
458 for i in range(int(frm), int(to) + 1):472 for i in range(int(range_from), int(range_to) + 1):
459 combo.addItem(unicode(i))473 combo.addItem(unicode(i))
460474
461 def displayResults(self, bible):475 def displayResults(self, bible):
462476
=== modified file 'openlp/plugins/bibles/resources/httpbooks.csv'
--- openlp/plugins/bibles/resources/httpbooks.csv 2009-02-15 19:11:27 +0000
+++ openlp/plugins/bibles/resources/httpbooks.csv 2009-10-14 18:31:13 +0000
@@ -1,66 +1,66 @@
1Genesis,ge,11Genesis,Gen,1,50
2Exodus,ex,12Exodus,Exod,1,40
3Leviticus,le,13Leviticus,Lev,1,27
4Numbers,nu,14Numbers,Num,1,36
5Deuteronomy,de,15Deuteronomy,Deut,1,34
6Joshua,jos,16Joshua,Josh,1,24
7Judges,jud,17Judges,Judg,1,21
8Ruth,ru,18Ruth,Ruth,1,4
91 Samual,1sa,191 Samual,1Sam,1,31
102 Samual,2sa,1102 Samual,2Sam,1,24
111 Kings,1ki,1111 Kings,1Kgs,1,22
122 Kings,2ki,1122 Kings,2Kgs,1,25
131 Chronicles,1ch,1131 Chronicles,1Chr,1,29
142 Chronicles,2ch,1142 Chronicles,2Chr,1,36
15Ezra,ezr,115Ezra,Esra,1,10
16Nehemiah,ne,116Nehemiah,Neh,1,13
17Esther,es,117Esther,Esth,1,10
18Job,job,118Job,Job,1,42
19Psalms,ps,119Psalms,Ps,1,150
20Proverbs,pr,120Proverbs,Prov,1,31
21Ecclesiastes,ec,121Ecclesiastes,Eccl,1,12
22Song of Songs,so,122Song of Songs,Song,1,8
23Isaiah,isa,123Isaiah,Isa,1,66
24Jeremiah,jer,124Jeremiah,Jer,1,5
25Lamentations,la,125Lamentations,Lam,1,5
26Ezekiel,exe,126Ezekiel,Ezek,1,48
27Daniel,da,127Daniel,Dan,1,12
28Hosea,ho,128Hosea,Hos,1,14
29Joel,joe,129Joel,Joel,1,3
30Amos,am,130Amos,Amos,1,9
31Obad,ob,131Obad,Obad,1,1
32Jonah,Jonah,132Jonah,Jonah,1,4
33Micah,mic,133Micah,Mic,1,7
34Naham,na,134Naham,Nah,1,3
35Habakkuk,hab,135Habakkuk,Hab,1,3
36Zephaniah,zep,136Zephaniah,Zeph,1,3
37Haggai,hag,137Haggai,Hag,1,2
38Zechariah,zec,138Zechariah,Zech,1,3
39Malachi,mal,139Malachi,Mal,1,4
40Matthew,mt,240Matthew,Matt,2,28
41Mark,mk,241Mark,Mark,2,16
42Luke,lu,242Luke,Luke,2,24
43John,joh,243John,John,2,21
44Acts,ac,244Acts,Acts,2,28
45Romans,ro,245Romans,Rom,2,16
461 Corinthans,1co,2461 Corinthans,1Cor,2,16
472 Corinthans,2co,2472 Corinthans,2Cor,2,13
48Galatians,ga,248Galatians,Gal,2,6
49Ephesians,eph,249Ephesians,Eph,2,6
50Philippians,php,250Philippians,Phil,2,4
51Colossians,col,251Colossians,Col,2,4
521 Thessalonians,1th,2521 Thessalonians,1Thess,2,5
532 Thessalonians,2th,2532 Thessalonians,2Thess,2,3
541 Timothy,1ti,2541 Timothy,1Tim,2,6
552 Timothy,2ti,2552 Timothy,2Tim,2,4
56Titus,tit,256Titus,Titus,2,3
57Philemon,phm,257Philemon,Phlm,2,1
58Hebrews,heb,258Hebrews,Heb,2,13
59James,jas,259James,Jas,2,5
601 Peter,1pe,2601 Peter,1Pet,2,5
612 Peter,2pe,2612 Peter,2Pet,2,3
621 John,1jo,2621 John,1John,2,5
632 John,2jo,2632 John,2John,2,1
643 John,3jo,2643 John,3John,2,1
65Jude,jude,265Jude,Jude,2,1
66Revelation,re,266Revelation,Rev,2,22