Annotation of kupuMPIWG/plone/kupu_plone_layer/kupuSearch.py, revision 1.1.1.1
1.1 dwinter 1: ## Script (Python) "kupuSearch"
2: ##title=Search the portal catalog
3: ##bind container=container
4: ##bind context=context
5: ##bind namespace=
6: ##bind script=script
7: ##bind subpath=traverse_subpath
8: ##parameters=
9: from Products.CMFCore.utils import getToolByName
10:
11: request = context.REQUEST
12: response = request.RESPONSE
13: response.setHeader('Cache-Control', 'no-cache')
14:
15: catalog = getToolByName(context, 'portal_catalog')
16: kupu_tool = getToolByName(context, 'kupu_library_tool')
17:
18: request = context.REQUEST
19: # the default resource type is mediaobject
20: resource_type = request.get('resource_type', 'mediaobject')
21: portal_types = kupu_tool.queryPortalTypesForResourceType(resource_type, ())
22:
23: search_params = {}
24: search_params.update(request.form)
25: search_params['portal_type'] = portal_types
26: search_params['review_state'] = 'visible', 'published'
27:
28: # Get the maximum number of results with 500 being the default and
29: # absolute maximum.
30: abs_max = 500
31: max = request.get('max_results', abs_max)
32: if max > abs_max:
33: max = abs_max
34:
35: results = context.queryCatalog(search_params)[:max]
36: return context.kupuInfoForBrains(results)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>