Oscar Picasso wrote:
Hi,
I' trying to use ZCatalog to index some values stored in a dictionary. The dictionary is an instance variable of a python class which is a base for a ZClass.
**my python class**
class Multi: def set(self): self.a = 'The a attribute' self.b = {'one' : 'un', 'two': 'deux', 'three': 'trois'}
ZMulti is a ZClass derived from Multi, and multi is a ZMulti instance.
Before Cataloging my object I run: <dtml-call "multi.set()">
Just to make sure you know, python classes can define an __init__ method to initialize attributes like this.
But it never works.
Any help greatly appreciated.
I'd like to help, but 'But it never works' is just not enough detail for me or anyone else to even begin to help you. _How_ does it never work? Does it tell you an error? If there is an error, do you get a traceback? Does nothing happen? By default, nothing will happen if it _does_ work. What are you searching for in this case to try and match your dictionary value? How are you searching? How does this not return what you expect? Obviously a TextIndex is not what you want, that's for indexing documents of text, and trying to text index a dictionary will be ignored by the Catalog. So we can discard that part of your problem right off. FieldIndexes index a value to a sequence of documents, and that value can be any python object. So a FieldIndex should work just fine in this case. -Michel