forked from openlp/openlp
more PEP 8 clean ups
fix advance search across multiple books bzr-revno: 231
This commit is contained in:
parent
70ef8ef2b7
commit
2457713b1d
@ -297,10 +297,11 @@ class BiblePlugin(Plugin):
|
|||||||
chapto = int(self.AdvancedToChapter.currentText())
|
chapto = int(self.AdvancedToChapter.currentText())
|
||||||
versefrom = int(self.AdvancedFromVerse.currentText())
|
versefrom = int(self.AdvancedFromVerse.currentText())
|
||||||
verseto = int(self.AdvancedToVerse.currentText())
|
verseto = int(self.AdvancedToVerse.currentText())
|
||||||
self.searchresults = self.biblemanager.get_verse_text(bible, book, chapfrom, versefrom, verseto)
|
self.searchresults = self.biblemanager.get_verse_text(bible, book, chapfrom, chapto, versefrom, verseto)
|
||||||
self._display_results()
|
self._display_results()
|
||||||
|
|
||||||
def onQuickSearchButton(self):
|
def onQuickSearchButton(self):
|
||||||
|
self.log.debug("onQuickSearchButton")
|
||||||
bible = str(self.QuickVersionComboBox.currentText())
|
bible = str(self.QuickVersionComboBox.currentText())
|
||||||
text = str(self.QuickSearchEdit.displayText())
|
text = str(self.QuickSearchEdit.displayText())
|
||||||
|
|
||||||
@ -310,6 +311,7 @@ class BiblePlugin(Plugin):
|
|||||||
self._verse_search()
|
self._verse_search()
|
||||||
|
|
||||||
def _search_text(self, bible, text):
|
def _search_text(self, bible, text):
|
||||||
|
self.log.debug("_search Text %s,%s", bible, text)
|
||||||
self.searchresults = self.biblemanager.get_verse_from_text(bible,text)
|
self.searchresults = self.biblemanager.get_verse_from_text(bible,text)
|
||||||
self._display_results()
|
self._display_results()
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ class BibleCSVImpl(BibleCommon):
|
|||||||
p = line.split(",")
|
p = line.split(",")
|
||||||
p2 = p[2].replace('"', '')
|
p2 = p[2].replace('"', '')
|
||||||
p3 = p[3].replace('"', '')
|
p3 = p[3].replace('"', '')
|
||||||
self.bibledb.createBook(int(p[1]), p2, p3)
|
self.bibledb.create_book(int(p[1]), p2, p3)
|
||||||
|
|
||||||
|
|
||||||
book_ptr = ""
|
book_ptr = ""
|
||||||
@ -70,7 +70,7 @@ class BibleCSVImpl(BibleCommon):
|
|||||||
p0 = p[0].replace('"', '')
|
p0 = p[0].replace('"', '')
|
||||||
p3 = p[3].replace('"', '')
|
p3 = p[3].replace('"', '')
|
||||||
if book_ptr is not p0:
|
if book_ptr is not p0:
|
||||||
cl = self.bibledb.getBibleBook(p0)
|
cl = self.bibledb.get_bible_book(p0)
|
||||||
id = self.bibledb.getBibleBookId(p0)
|
id = self.bibledb.getBibleBookId(p0)
|
||||||
book_ptr = cl
|
book_ptr = cl
|
||||||
log.debug( id )
|
log.debug( id )
|
||||||
|
@ -147,7 +147,7 @@ class BibleDBImpl(BibleCommon):
|
|||||||
session.add(versemeta)
|
session.add(versemeta)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
def createChapter(self, bookid, chap, textlist):
|
def create_chapter(self, bookid, chap, textlist):
|
||||||
log.debug( "createChapter %s,%s,%s", bookid, chap, textlist)
|
log.debug( "createChapter %s,%s,%s", bookid, chap, textlist)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
session = self.Session()
|
session = self.Session()
|
||||||
@ -160,7 +160,7 @@ class BibleDBImpl(BibleCommon):
|
|||||||
session.add(versemeta)
|
session.add(versemeta)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
def createBook(self, bookid, bookname, bookabbrev):
|
def create_book(self, bookid, bookname, bookabbrev):
|
||||||
log.debug( "createBook %s,%s,%s", bookid, bookname, bookabbrev)
|
log.debug( "createBook %s,%s,%s", bookid, bookname, bookabbrev)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
session = self.Session()
|
session = self.Session()
|
||||||
@ -175,7 +175,7 @@ class BibleDBImpl(BibleCommon):
|
|||||||
session.add(bmeta)
|
session.add(bmeta)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
def getMeta(self, key):
|
def get_meta(self, key):
|
||||||
s = text (""" select value FROM metadata where key == :k """)
|
s = text (""" select value FROM metadata where key == :k """)
|
||||||
return self.db.execute(s, k=key).fetchone()
|
return self.db.execute(s, k=key).fetchone()
|
||||||
|
|
||||||
@ -197,55 +197,55 @@ class BibleDBImpl(BibleCommon):
|
|||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
def get_bible_books(self):
|
def get_bible_books(self):
|
||||||
log.debug( "getBibleBook ")
|
log.debug( "get_bible_book ")
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select name FROM book order by id """)
|
s = text (""" select name FROM book order by id """)
|
||||||
return self.db.execute(s).fetchall()
|
return self.db.execute(s).fetchall()
|
||||||
|
|
||||||
def get_max_bible_book_verses(self, bookname, chapter):
|
def get_max_bible_book_verses(self, bookname, chapter):
|
||||||
log.debug( "getMaxBibleBookVerses %s,%s ", bookname , chapter)
|
log.debug( "get_max_bible_book_verses %s,%s ", bookname , chapter)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select max(verse.verse) from verse,book where chapter = :c and book_id = book.id and book.name = :b """)
|
s = text (""" select max(verse.verse) from verse,book where chapter = :c and book_id = book.id and book.name = :b """)
|
||||||
return self.db.execute(s, c=chapter, b=bookname).fetchone()
|
return self.db.execute(s, c=chapter, b=bookname).fetchone()
|
||||||
|
|
||||||
def get_max_bible_book_chapter(self, bookname):
|
def get_max_bible_book_chapter(self, bookname):
|
||||||
log.debug( "getMaxBibleBookChapters %s ", bookname )
|
log.debug( "get_max_bible_book_chapter %s ", bookname )
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select max(verse.chapter) from verse,book where book_id = book.id and book.name = :b """)
|
s = text (""" select max(verse.chapter) from verse,book where book_id = book.id and book.name = :b """)
|
||||||
return self.db.execute(s, b=bookname).fetchone()
|
return self.db.execute(s, b=bookname).fetchone()
|
||||||
|
|
||||||
def getBibleBook(self, bookname):
|
def get_bible_book(self, bookname):
|
||||||
log.debug( "getBibleBook %s", bookname)
|
log.debug( "get_bible_book %s", bookname)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select name FROM book where book.name == :b """)
|
s = text (""" select name FROM book where book.name == :b """)
|
||||||
return self.db.execute(s, b=bookname).fetchone()
|
return self.db.execute(s, b=bookname).fetchone()
|
||||||
|
|
||||||
def getBibleBookId(self, bookname):
|
def get_bible_book_Id(self, bookname):
|
||||||
log.debug( "getBibleBook %s", bookname)
|
log.debug( "get_bible_book_id %s", bookname)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select id FROM book where book.name == :b """)
|
s = text (""" select id FROM book where book.name == :b """)
|
||||||
return self.db.execute(s, b=bookname).fetchone()
|
return self.db.execute(s, b=bookname).fetchone()
|
||||||
|
|
||||||
def getBibleChapter(self, bookname, chapter):
|
def get_bible_chapter(self, bookname, chapter):
|
||||||
log.debug( "getBibleChapter %s,%s", bookname, chapter )
|
log.debug( "get_bible_chapter %s,%s", bookname, chapter )
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select book.name FROM verse,book where verse.book_id == book.id AND verse.chapter == :c and book.name == :b """)
|
s = text (""" select book.name FROM verse,book where verse.book_id == book.id AND verse.chapter == :c and book.name == :b """)
|
||||||
return self.db.execute(s, c=chapter, b=bookname).fetchone()
|
return self.db.execute(s, c=chapter, b=bookname).fetchone()
|
||||||
|
|
||||||
def getBibleText(self, bookname, chapter, sverse, everse):
|
def get_bible_text(self, bookname, chapter, sverse, everse):
|
||||||
log.debug( "getBibleText %s,%s,%s,%s ", bookname, chapter, sverse, everse)
|
log.debug( "get_bible_text %s,%s,%s,%s ", bookname, chapter, sverse, everse)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
s = text (""" select name,chapter,verse.verse, verse.text FROM verse , book where verse.book_id == book.id AND verse.chapter == :c AND (verse.verse between :v1 and :v2) and book.name == :b """)
|
s = text (""" select name,chapter,verse.verse, verse.text FROM verse , book where verse.book_id == book.id AND verse.chapter == :c AND (verse.verse between :v1 and :v2) and book.name == :b """)
|
||||||
return self.db.execute(s, c=chapter, v1=sverse , v2=everse, b=bookname).fetchall()
|
return self.db.execute(s, c=chapter, v1=sverse , v2=everse, b=bookname).fetchall()
|
||||||
|
|
||||||
def get_verses_from_text(self,versetext):
|
def get_verses_from_text(self,versetext):
|
||||||
log.debug( "getBibleText %s",versetext)
|
log.debug( "get_verses_from_text %s",versetext)
|
||||||
metadata.bind.echo = False
|
metadata.bind.echo = False
|
||||||
versetext = "%"+versetext+"%"
|
versetext = "%"+versetext+"%"
|
||||||
s = text (""" select book.name, verse.chapter, verse.verse, verse.text FROM verse , book where verse.book_id == book.id and verse.text like :t """)
|
s = text (""" select book.name, verse.chapter, verse.verse, verse.text FROM verse , book where verse.book_id == book.id and verse.text like :t """)
|
||||||
return self.db.execute(s, t=versetext).fetchall()
|
return self.db.execute(s, t=versetext).fetchall()
|
||||||
|
|
||||||
def dumpBible(self):
|
def dump_bible(self):
|
||||||
log.debug( ".........Dumping Bible Database")
|
log.debug( ".........Dumping Bible Database")
|
||||||
log.debug( "...............................Books ")
|
log.debug( "...............................Books ")
|
||||||
s = text (""" select * FROM book """)
|
s = text (""" select * FROM book """)
|
||||||
|
@ -91,7 +91,7 @@ class BibleOSISImpl():
|
|||||||
p = ref.split(".", 3) # split u[ the reference
|
p = ref.split(".", 3) # split u[ the reference
|
||||||
if book_ptr != p[0]:
|
if book_ptr != p[0]:
|
||||||
book_ptr = p[0]
|
book_ptr = p[0]
|
||||||
self.bibledb.createBook(int(p[1]), self.booksOfBible[p[0]] , self.abbrevOfBible[p[0]])
|
self.bibledb.create_book(int(p[1]), self.booksOfBible[p[0]] , self.abbrevOfBible[p[0]])
|
||||||
id = self.bibledb.getBibleBookId(self.booksOfBible[p[0]])
|
id = self.bibledb.getBibleBookId(self.booksOfBible[p[0]])
|
||||||
dialogobject.incrementBar()
|
dialogobject.incrementBar()
|
||||||
self.bibledb.addVerse(id[0], p[1], p[2], t)
|
self.bibledb.addVerse(id[0], p[1], p[2], t)
|
||||||
|
@ -56,13 +56,13 @@ class BibleManager():
|
|||||||
nme = f.split('.')
|
nme = f.split('.')
|
||||||
bname = nme[0]
|
bname = nme[0]
|
||||||
self.bibleDBCache[bname] = BibleDBImpl(self.biblePath, bname, self.bibleSuffix)
|
self.bibleDBCache[bname] = BibleDBImpl(self.biblePath, bname, self.bibleSuffix)
|
||||||
biblesource = self.bibleDBCache[bname].getMeta("WEB") # look to see if lazy load bible exists and get create getter.
|
biblesource = self.bibleDBCache[bname].get_meta("WEB") # look to see if lazy load bible exists and get create getter.
|
||||||
if biblesource:
|
if biblesource:
|
||||||
print biblesource
|
print biblesource
|
||||||
nhttp = BibleHTTPImpl()
|
nhttp = BibleHTTPImpl()
|
||||||
nhttp.setBibleSource(biblesource) # tell The Server where to get the verses from.
|
nhttp.setBibleSource(biblesource) # tell The Server where to get the verses from.
|
||||||
self.bibleHTTPCache[bname] = nhttp
|
self.bibleHTTPCache[bname] = nhttp
|
||||||
proxy = self.bibleDBCache[bname].getMeta("proxy") # look to see if lazy load bible exists and get create getter.
|
proxy = self.bibleDBCache[bname].get_meta("proxy") # look to see if lazy load bible exists and get create getter.
|
||||||
nhttp.setProxy(proxy) # tell The Server where to get the verses from.
|
nhttp.setProxy(proxy) # tell The Server where to get the verses from.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -195,9 +195,9 @@ class BibleManager():
|
|||||||
Returns the meta data for a given key
|
Returns the meta data for a given key
|
||||||
"""
|
"""
|
||||||
log.debug( "get_meta %s,%s", bible, key)
|
log.debug( "get_meta %s,%s", bible, key)
|
||||||
self.bibleDBCache[bible].getMeta(key)
|
self.bibleDBCache[bible].get_meta(key)
|
||||||
|
|
||||||
def get_verse_text(self, bible, bookname, chapter, sverse, everse = 0 ):
|
def get_verse_text(self, bible, bookname, schapter, echapter, sverse, everse = 0 ):
|
||||||
"""
|
"""
|
||||||
Returns a list of verses for a given Book, Chapter and ranges of verses.
|
Returns a list of verses for a given Book, Chapter and ranges of verses.
|
||||||
If the end verse(everse) is less then the start verse(sverse)
|
If the end verse(everse) is less then the start verse(sverse)
|
||||||
@ -205,9 +205,10 @@ class BibleManager():
|
|||||||
bible - Which bible to use.
|
bible - Which bible to use.
|
||||||
Rest can be guessed at !
|
Rest can be guessed at !
|
||||||
"""
|
"""
|
||||||
|
text = []
|
||||||
#log.debug( self.bibleDBCache)
|
#log.debug( self.bibleDBCache)
|
||||||
#log.debug( self.bibleHTTPCache)
|
#log.debug( self.bibleHTTPCache)
|
||||||
log.debug( "getVerseText %s,%s,%s,%s,%s", bible,bookname, chapter, sverse, everse)
|
log.debug( "get_verse_text %s,%s,%s,%s,%s,%s", bible,bookname, schapter,echapter, sverse, everse)
|
||||||
# bookid = self.booksOfBible[bookname] # convert to id ie Genesis --> 1 Revelation --> 73
|
# bookid = self.booksOfBible[bookname] # convert to id ie Genesis --> 1 Revelation --> 73
|
||||||
# # SORT OUT BOOKNAME BOOK ID.
|
# # SORT OUT BOOKNAME BOOK ID.
|
||||||
# # NAME COMES IN TO ID AND BACK TO NAME ?
|
# # NAME COMES IN TO ID AND BACK TO NAME ?
|
||||||
@ -217,25 +218,36 @@ class BibleManager():
|
|||||||
# if not c:
|
# if not c:
|
||||||
# self._loadBook(bible,bookid, bookname, bookabbrev)
|
# self._loadBook(bible,bookid, bookname, bookabbrev)
|
||||||
# self._loadChapter(bible, bookid,bookname, chapter)
|
# self._loadChapter(bible, bookid,bookname, chapter)
|
||||||
if everse < sverse:
|
if schapter == echapter:
|
||||||
everse = sverse
|
text = self.bibleDBCache[bible].get_bible_text(bookname, schapter, sverse, everse)
|
||||||
text = self.bibleDBCache[bible].getBibleText(bookname, chapter, sverse, everse)
|
else:
|
||||||
#log.debug( text)
|
for i in range (schapter, echapter + 1):
|
||||||
#self.bibleDBCache[bible].dumpBible()
|
if i == schapter:
|
||||||
|
start = sverse
|
||||||
|
end = self.get_book_verse_count(bible, bookname,i )[0]
|
||||||
|
elif i == echapter:
|
||||||
|
start = 1
|
||||||
|
end = everse
|
||||||
|
else:
|
||||||
|
start = 1
|
||||||
|
end = self.get_book_verse_count(bible, bookname,i )[0]
|
||||||
|
|
||||||
|
txt = self.bibleDBCache[bible].get_bible_text(bookname, i, start, end)
|
||||||
|
text.extend(txt)
|
||||||
return text
|
return text
|
||||||
|
|
||||||
def _load_book(self, bible, bookid, bookname, bookabbrev):
|
def _load_book(self, bible, bookid, bookname, bookabbrev):
|
||||||
log.debug( "load_book %s,%s,%s,%s", bible, bookid, bookname, bookabbrev)
|
log.debug( "load_book %s,%s,%s,%s", bible, bookid, bookname, bookabbrev)
|
||||||
cl = self.bibleDBCache[bible].getBibleBook(bookname)
|
cl = self.bibleDBCache[bible].get_bible_book(bookname)
|
||||||
log.debug( "get bible book %s" , cl)
|
log.debug( "get bible book %s" , cl)
|
||||||
if not cl :
|
if not cl :
|
||||||
self.bibleDBCache[bible].createBook(bookid, bookname, bookabbrev)
|
self.bibleDBCache[bible].create_book(bookid, bookname, bookabbrev)
|
||||||
|
|
||||||
def _loadChapter(self, bible, bookid, bookname, chapter):
|
def _loadChapter(self, bible, bookid, bookname, chapter):
|
||||||
log.debug( "load_chapter %s,%s,%s,%s", bible, bookid,bookname, chapter)
|
log.debug( "load_chapter %s,%s,%s,%s", bible, bookid,bookname, chapter)
|
||||||
try :
|
try :
|
||||||
chaptlist = self.bibleHTTPCache[bible].getBibleChapter(bible, bookid,bookname, chapter)
|
chaptlist = self.bibleHTTPCache[bible].get_bible_chapter(bible, bookid,bookname, chapter)
|
||||||
self.bibleDBCache[bible].createChapter(bookname, chapter, chaptlist)
|
self.bibleDBCache[bible].create_chapter(bookname, chapter, chaptlist)
|
||||||
except :
|
except :
|
||||||
log.error("Errow thrown %s", sys.exc_info()[1])
|
log.error("Errow thrown %s", sys.exc_info()[1])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user