[Zope-Checkins] CVS: Zope/lib/python/Products/ZCatalog -
ZCatalog.py:1.131
Chris Withers
chris at simplistix.co.uk
Thu May 27 11:07:26 EDT 2004
Update of /cvs-repository/Zope/lib/python/Products/ZCatalog
In directory cvs.zope.org:/tmp/cvs-serv18150
Modified Files:
ZCatalog.py
Log Message:
- Removed unused imports
- refactored slightly
- logged when object cannot be resolved on re-indexing of an index
- made manage_reindexIndex more efficient.
=== Zope/lib/python/Products/ZCatalog/ZCatalog.py 1.130 => 1.131 ===
--- Zope/lib/python/Products/ZCatalog/ZCatalog.py:1.130 Fri Mar 19 08:25:34 2004
+++ Zope/lib/python/Products/ZCatalog/ZCatalog.py Thu May 27 11:07:25 2004
@@ -35,9 +35,10 @@
import PluggableIndexInterface
from Products.PluginIndexes.TextIndex import Splitter
import urllib, time, types
-import string
+import string, logging
from IZCatalog import IZCatalog
+LOG = logging.getLogger('Zope.ZCatalog')
manage_addZCatalogForm=DTMLFile('dtml/addZCatalog',globals())
@@ -446,17 +447,20 @@
def reindexIndex(self, name, REQUEST):
- paths = self._catalog.uids.keys()
-
- for p in paths:
+ if isinstance(name, str):
+ name = (name,)
+ for p in self._catalog.uids.keys():
obj = self.resolve_path(p)
if not obj:
obj = self.resolve_url(p, REQUEST)
- if obj is not None:
+ if obj is None:
+ LOG.error('reindexIndex could not resolve '
+ 'an object from the uid %r.' % (uid))
+ else:
# don't update metadata when only reindexing a single
# index via the UI
try:
- self.catalog_object(obj, p, idxs=[name],
+ self.catalog_object(obj, p, idxs=name,
update_metadata=0)
except TypeError:
# Fall back to Zope 2.6.2 interface. This is necessary for
@@ -467,7 +471,7 @@
warn('catalog_object interface of %s not up to date'
% self.__class__.__name__,
DeprecationWarning)
- self.catalog_object(obj, p, idxs=[name])
+ self.catalog_object(obj, p, idxs=name)
def manage_reindexIndex(self, ids=None, REQUEST=None, RESPONSE=None,
URL1=None):
@@ -477,11 +481,7 @@
message='No items were specified!',
action = "./manage_catalogIndexes",)
- if isinstance(ids, types.StringType):
- ids = (ids,)
-
- for name in ids:
- self.reindexIndex(name, REQUEST)
+ self.reindexIndex(ids, REQUEST)
if REQUEST and RESPONSE:
RESPONSE.redirect(
More information about the Zope-Checkins
mailing list