Changeset 6207 for main/waeup.sirp/trunk/src/waeup/sirp/catalog.py
- Timestamp:
- 28 May 2011, 07:19:57 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/catalog.py
r6116 r6207 15 15 16 16 class WAeUPQuery(Query): 17 18 19 17 """A hurry.query-like query that supports also ``apply``. 18 """ 19 grok.implements(IQuery) 20 20 21 22 23 24 21 def apply(self, query): 22 """Get a catalog's BTree set of intids conforming to a query. 23 """ 24 return query.apply() 25 25 26 27 28 29 30 31 32 33 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 34 35 35 grok.global_utility(WAeUPQuery) 36 36 37 class StudentIndexes(grok.Indexes): 38 grok.site(University) 39 grok.name('students_catalog') 40 grok.context(IStudent) 37 41 38 class StudentIndexes(grok.Indexes): 39 grok.site(University) 40 grok.name('students_catalog') 41 grok.context(IStudent) 42 43 name = grok.index.Field(attribute='name') 42 name = grok.index.Field(attribute='name') 44 43 45 44 class QueryResultItem(object): 46 47 48 49 45 grok.implements(IQueryResultItem) 46 url = None 47 title = None 48 description = None 50 49 51 52 53 54 55 50 def __init__(self, context, view): 51 self.context = context 52 self.url = view.url(context) 53 self.title = context.title 54 self.description = '' 56 55 57 56 def search_context(query): 58 59 60 61 57 result = Query().searchResults( 58 Eq(('students_catalog', 'name'), query) 59 ) 60 return result
Note: See TracChangeset for help on using the changeset viewer.