source: main/waeup.sirp/trunk/src/waeup/sirp/catalog.py @ 7156

Last change on this file since 7156 was 7137, checked in by Henrik Bettermann, 13 years ago

Set value Id for property svn:keywords in all Python files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.3 KB
Line 
1"""Components to help cataloging and searching objects.
2"""
3import grok
4from grok import index
5from hurry.query import Eq
6from hurry.query.interfaces import IQuery
7from hurry.query.query import Query
8from zope.catalog.catalog import ResultSet
9from zope.component import getUtility
10from zope.intid.interfaces import IIntIds
11
12from waeup.sirp.app import University
13from waeup.sirp.interfaces import IQueryResultItem
14
15# not yet used
16class WAeUPQuery(Query):
17    """A hurry.query-like query that supports also ``apply``.
18    """
19    grok.implements(IQuery)
20
21    def apply(self, query):
22        """Get a catalog's BTree set of intids conforming to a query.
23        """
24        return query.apply()
25
26    def searchResults(self, query):
27        """Get a set of ZODB objects conforming to a query.
28        """
29        results = self.apply(query)
30        if results is not None:
31            uidutil = getUtility(IIntIds)
32            results = ResultSet(results, uidutil)
33        return results
34
35grok.global_utility(WAeUPQuery)
36
37# not yet used
38class QueryResultItem(object):
39    grok.implements(IQueryResultItem)
40    url = None
41    title = None
42    description = None
43
44    def __init__(self, context, view):
45        self.context = context
46        self.url = view.url(context)
47        self.title = context.title
48        self.description = ''
Note: See TracBrowser for help on using the repository browser.