##parameters=query={}, REQUEST=None # $Id: search.py 49965 2006-11-10 00:22:57Z madarche $ """ """ from zLOG import LOG, DEBUG, INFO from Products.ZCTextIndex.ParseTree import ParseError ParseErrors = (ParseError,) try: from Products.TextIndexNG2.BaseParser import QueryParserError ParseErrors += (QueryParserError,) except ImportError: pass catalog = context.portal_catalog if REQUEST is not None: query.update(REQUEST.form) for k, v in query.items(): if not v or same_type(v, []) and not filter(None, v): del query[k] try: brains = catalog(**query) except ParseErrors: LOG('CPSDefault.search', INFO, 'got an exception during search %s' % query) return [] return brains