This commit is contained in:
Andreas Preikschat 2010-10-08 19:07:14 +02:00
parent 59b387b9d0
commit 2e2efab2d4
3 changed files with 26 additions and 25 deletions

View File

@ -369,19 +369,19 @@ class BibleDB(QtCore.QObject, Manager):
values. values.
""" """
log.debug(u'BibleDB.verse_search("%s")', text) log.debug(u'BibleDB.verse_search("%s")', text)
verses = self.session.query(Verse)
if text.find(u',') > -1: if text.find(u',') > -1:
or_clause = [] or_clause = []
keywords = [u'%%%s%%' % keyword.strip() keywords = [u'%%%s%%' % keyword.strip()
for keyword in text.split(u',')] for keyword in text.split(u',')]
for keyword in keywords: for keyword in keywords:
or_clause.append(Verse.text.like(keyword)) or_clause.append(Verse.text.like(keyword))
verses = verses.filter(or_(*or_clause)) verses = self.session.query(Verse).filter(or_(*or_clause))
else: else:
keywords = [u'%%%s%%' % keyword.strip() keywords = [u'%%%s%%' % keyword.strip()
for keyword in text.split(u' ')] for keyword in text.split(u' ')]
for keyword in keywords: for keyword in keywords:
verses = verses.filter(Verse.text.like(keyword)) verses = self.session.query(Verse)\
.filter(Verse.text.like(keyword))
verses = verses.all() verses = verses.all()
return verses return verses

View File

@ -257,27 +257,27 @@ class BibleManager(object):
'Book Chapter:Verse-Chapter:Verse')) 'Book Chapter:Verse-Chapter:Verse'))
return None return None
# def verse_search(self, bible, text): def verse_search(self, bible, text):
# """ """
# ``bible`` ``bible``
# The bible to seach in. The bible to seach in.
#
# ``text`` ``text``
# The text to search for. The text to search for.
# """ """
# log.debug(u'BibleManager.verse_search("%s", "%s")', bible, text) log.debug(u'BibleManager.verse_search("%s", "%s")', bible, text)
# if text: if text:
# return self.db_cache[bible].verse_search(text) return self.db_cache[bible].verse_search(text)
# else: else:
# QtGui.QMessageBox.information(self.parent.mediaItem, QtGui.QMessageBox.information(self.parent.mediaItem,
# translate('BiblesPlugin.BibleManager', translate('BiblesPlugin.BibleManager',
# 'Scripture Reference Error'), 'Scripture Reference Error'),
# translate('BiblesPlugin.BibleManager', 'You did not enter a ' translate('BiblesPlugin.BibleManager', 'You did not enter a '
# 'search keyword.\nYou can seperate different keywords by a space' 'search keyword.\nYou can seperate different keywords by a '
# ' to search for all of your keywords and can seperate them by a' 'space to search for all of your keywords and you can seperate '
# ' comma to search for one of them.')) 'them by a comma to search for one of them.'))
# return None return None
def save_meta_data(self, bible, version, copyright, permissions): def save_meta_data(self, bible, version, copyright, permissions):
""" """
Saves the bibles meta data. Saves the bibles meta data.

View File

@ -546,7 +546,8 @@ class BibleMediaItem(MediaManagerItem):
dual_bible, text) dual_bible, text)
else: # Text Search else: # Text Search
bibles = self.parent.manager.get_bibles() bibles = self.parent.manager.get_bibles()
self.search_results = bibles[bible].verse_search(text) #self.search_results = bibles[bible].verse_search(text)
self.search_results = self.parent.manager.verse_search(bible, text)
if dual_bible and self.search_results: if dual_bible and self.search_results:
text = [] text = []
for verse in self.search_results: for verse in self.search_results: