Annotation of kupuMPIWG/plone/kupu_plone_layer/kupuSearch.py, revision 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>