[Zope-Checkins] CVS: Zope/lib/python/Products/PluginIndexes/common - UnIndex.py:1.7.22.1
Toby Dickenson
tdickenson@geminidataloggers.com
Mon, 11 Mar 2002 08:14:13 -0500
Update of /cvs-repository/Zope/lib/python/Products/PluginIndexes/common
In directory cvs.zope.org:/tmp/cvs-serv9701/lib/python/Products/PluginIndexes/common
Modified Files:
Tag: toby-index-subclass-branch
UnIndex.py
Log Message:
collector 284: KeywordIndex and FieldIndex subclassing
=== Zope/lib/python/Products/PluginIndexes/common/UnIndex.py 1.7 => 1.7.22.1 ===
# First we need to see if there's anything interesting to look at
- # self.id is the name of the index, which is also the name of the
- # attribute we're interested in. If the attribute is callable,
- # we'll do so.
- try:
- datum = getattr(obj, self.id)
- if callable(datum):
- datum = datum()
- except AttributeError:
- datum = _marker
-
+ datum = self._get_object_datum(obj)
+
# We don't want to do anything that we don't have to here, so we'll
# check to see if the new and existing information is the same.
oldDatum = self._unindex.get(documentId, _marker)
@@ -240,6 +232,18 @@
returnStatus = 1
return returnStatus
+
+ def _get_object_datum(self,obj):
+ # self.id is the name of the index, which is also the name of the
+ # attribute we're interested in. If the attribute is callable,
+ # we'll do so.
+ try:
+ datum = getattr(obj, self.id)
+ if callable(datum):
+ datum = datum()
+ except AttributeError:
+ datum = _marker
+ return datum
def numObjects(self):
""" return number of indexed objects """