File contents
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<br>Total time: %s<br>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<br>Total time: %s<br>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,