[Zope-dev] KeywordIndex and PersistentList (Bug?)
Thomas Guettler
Thomas Guettler <thomas@thomas-guettler.de>
Wed, 20 Nov 2002 18:57:08 +0100
Hi!
In KeywordIndex the newKeywords get called
if they are "callable":
def _get_object_keywords(self,obj):
newKeywords = getattr(obj, self.id, ())
if callable(newKeywords): # (*)
newKeywords = newKeywords()
if hasattr(newKeywords,'capitalize'): # is it string-like ?
newKeywords = (newKeywords, )
return newKeywords
This fails if the newKeywords are stored in a PersistentList.
Callable is true, but there is no __call__ attribute.
I changed the line marked with (*) to
if hasattr(newKeyword, "__call__"):
and this seems to work
I think this does not break anything and could be included in the
original.
Am I the first how uses PersistentList for an indexed attribute? Is
there a reason not to do so?
thomas
Please CC to me I am not on the list yet
--
Thomas Guettler <guettli@thomas-guettler.de>
http://www.thomas-guettler.de