[Cvs-annodex] commit (annodex): cmmlwiki/trunk/cmmlwiki/search.py
conrad
nobody at lists.annodex.net
Wed Dec 6 06:18:24 UTC 2006
Update of /var/local/lib/svn/annodex (new revision 2558)
Modified files:
cmmlwiki/trunk/cmmlwiki/search.py
Log Message:
move individual clip search results into a separate DBSearchResult class
Modified: cmmlwiki/trunk/cmmlwiki/search.py
===================================================================
--- cmmlwiki/trunk/cmmlwiki/search.py 2006-12-06 06:03:04 UTC (rev 2557)
+++ cmmlwiki/trunk/cmmlwiki/search.py 2006-12-06 06:18:22 UTC (rev 2558)
@@ -90,6 +90,17 @@
sql = "DROP VIEW search_results"
cur.execute (sql)
+class DBSearchResult(object):
+ def __init__(self, inspector, iname, ixc):
+ self.inspector = inspector
+ self.iname = iname
+ self.ixc = ixc
+
+ def clips(self):
+ sql = 'SELECT * FROM clips WHERE ixc="%s"' % (self.ixc)
+ self.inspector.cur.execute(sql)
+ return self.inspector.cur.fetchall()
+
class Search(object):
def __init__(self, inspector, search_terms, start=0):
self.dbsearch = DBSearch (inspector, search_terms, start)
@@ -132,7 +143,9 @@
#""" % (row['count'], matches, WikiURL(iname).template(vars), iname)
for row in self.dbsearch.details(row['ixi']):
- s += SearchResult (self.inspector, row['iname'], row['ixc'], query=self.dbsearch.query).template(vars)
+ dbresult = DBSearchResult (self.inspector, row['iname'], row['ixc'])
+ query = self.dbsearch.query
+ s += SearchResult (dbresult, query=query).template(vars)
link_fmt = 'Special:Search?q=%s&fulltext=Search&start=%%d' % (self.search_terms)
nums = PageNumbers (link_fmt, total_items, self.start, limit, span)
@@ -147,10 +160,10 @@
class SearchResult (object):
- def __init__ (self, inspector, name, ixc, query=None):
- self.inspector = inspector
- self.name = name
- self.ixc = ixc
+ def __init__ (self, dbresult, query=None):
+ self.dbresult = dbresult
+ self.name = dbresult.iname
+ self.ixc = dbresult.ixc
self.query = query
def template (self, vars):
@@ -194,9 +207,7 @@
s = ''
- sql = 'SELECT * FROM clips WHERE ixc="%s"' % (self.ixc)
- self.inspector.cur.execute(sql)
- for row in self.inspector.cur.fetchall():
+ for row in self.dbresult.clips():
divid='clip-%d-%s' % (self.ixc, xmlescape(row['ixc']))
s += '\n<div id="%s" class="searchblock">' % divid
--
conrad
More information about the cvs-annodex
mailing list