Index: ZCatalog.py =================================================================== RCS file: /cvs-repository/Zope2/lib/python/Products/ZCatalog/ZCatalog.py,v retrieving revision 1.43 diff -u -r1.43 ZCatalog.py --- ZCatalog.py 1999/12/28 23:46:31 1.43 +++ ZCatalog.py 1999/12/29 07:33:20 @@ -149,6 +149,8 @@ 'target':'manage_main'}, {'label': 'Status', 'action': 'manage_catalogStatus', 'target':'manage_main'}, + {'label': 'Query', 'action': 'manage_catalogSearch', + 'target':'manage_main'}, ) __ac_permissions__=( @@ -163,7 +165,8 @@ 'manage_catalogReindex', 'manage_catalogFoundItems', 'manage_catalogClear', 'manage_addColumn', 'manage_delColumns', - 'manage_addIndex', 'manage_delIndexes', 'manage_main',], + 'manage_addIndex', 'manage_delIndexes', 'manage_main', + 'manage_catalogSearch', 'manage_catalogSearchResults', ], ['Manager']), ('Search ZCatalog', @@ -181,8 +184,9 @@ manage_catalogSchema = HTMLFile('catalogSchema', globals()) manage_catalogIndexes = HTMLFile('catalogIndexes', globals()) manage_catalogStatus = HTMLFile('catalogStatus', globals()) + manage_catalogSearch = HTMLFile('catalogSearch', globals()) + manage_catalogSearchResults = HTMLFile('catalogSearchResults', globals()) - threshold=10000 _v_total=0 @@ -269,11 +273,12 @@ urllib.quote('Catalog Updated
Total time: %s
Total CPU time: %s' % (`elapse`, `c_elapse`))) - def manage_catalogClear(self, REQUEST, RESPONSE, URL1): + def manage_catalogClear(self, REQUEST=None, RESPONSE=None, URL1=None): """ clears the whole enchelada """ self._catalog.clear() - RESPONSE.redirect(URL1 + '/manage_catalogView?manage_tabs_message=Catalog%20Cleared') + if REQUEST and RESPONSE: + RESPONSE.redirect(URL1 + '/manage_catalogView?manage_tabs_message=Catalog%20Cleared') def manage_catalogFoundItems(self, REQUEST, RESPONSE, URL2, URL1, @@ -313,31 +318,35 @@ urllib.quote('Catalog Updated
Total time: %s
Total CPU time: %s' % (`elapse`, `c_elapse`))) - def manage_addColumn(self, name, REQUEST, RESPONSE, URL1): + def manage_addColumn(self, name, REQUEST=None, RESPONSE=None, URL1=None): """ add a column """ self._catalog.addColumn(name) - RESPONSE.redirect(URL1 + '/manage_catalogSchema?manage_tabs_message=Column%20Added') + if REQUEST and RESPONSE: + RESPONSE.redirect(URL1 + '/manage_catalogSchema?manage_tabs_message=Column%20Added') - def manage_delColumns(self, names, REQUEST, RESPONSE, URL1): + def manage_delColumns(self, names, REQUEST=None, RESPONSE=None, URL1=None): """ del a column """ for name in names: self._catalog.delColumn(name) - RESPONSE.redirect(URL1 + '/manage_catalogSchema?manage_tabs_message=Column%20Deleted') + if REQUEST and RESPONSE: + RESPONSE.redirect(URL1 + '/manage_catalogSchema?manage_tabs_message=Column%20Deleted') - def manage_addIndex(self, name, type, REQUEST, RESPONSE, URL1): + def manage_addIndex(self, name, type, REQUEST=None, RESPONSE=None, URL1=None): """ add an index """ self._catalog.addIndex(name, type) - RESPONSE.redirect(URL1 + '/manage_catalogIndexes?manage_tabs_message=Index%20Added') + if REQUEST and RESPONSE: + RESPONSE.redirect(URL1 + '/manage_catalogIndexes?manage_tabs_message=Index%20Added') - def manage_delIndexes(self, names, REQUEST, RESPONSE, URL1): + def manage_delIndexes(self, names, REQUEST=None, RESPONSE=None, URL1=None): """ del an index """ for name in names: self._catalog.delIndex(name) - RESPONSE.redirect(URL1 + '/manage_catalogIndexes?manage_tabs_message=Index%20Deleted') + if REQUEST and RESPONSE: + RESPONSE.redirect(URL1 + '/manage_catalogIndexes?manage_tabs_message=Index%20Deleted') def catalog_object(self, obj, uid): @@ -406,6 +415,7 @@ query_map={ type(regex.compile('')): Query.Regex, type([]): orify, + type(()): orify, type(''): Query.String, }, **kw): """ @@ -522,7 +532,7 @@ and (not obj_searchterm or (hasattr(ob, 'PrincipiaSearchSource') and - find(ob.PrincipiaSearchSource(), obj_searchterm) >= 0 + string.find(ob.PrincipiaSearchSource(), obj_searchterm) >= 0 )) and (not obj_expr or expr_match(ob, obj_expr)) @@ -533,14 +543,16 @@ role_match(ob, obj_permission, obj_roles) ) ): + ob_real = getattr(obj, id) if apply_func: - apply_func(ob, (apply_path+'/'+p)) + apply_func(ob_real, (apply_path+'/'+p)) else: - add_result((p, ob)) + add_result((p, ob_real)) dflag=0 if search_sub and hasattr(bs, 'objectItems'): - self.ZopeFindAndApply(ob, obj_ids, obj_metatypes, + ob_real = getattr(obj, id) + self.ZopeFindAndApply(ob_real, obj_ids, obj_metatypes, obj_searchterm, obj_expr, obj_mtime, obj_mspec, obj_permission, obj_roles,