Hi all I have a container product that stores aother product(TextDescriptions). The second product acts as descriptions of texts that are available for purchase (in paper form). These descriptions also contain another product that acts as reviews on the texts. All products inherit Item, Persistent and Acquisition.Implicit. The main product stores the descriptions in a dictionary of id:instance pairs, the descriptions do the same with the reviews. All products have an id as an attribute. The main product contains a __getitem__ method, as does the descriptions product. I can traverse to a description however a call to a mthod of the description product that returns the aq_chain displays as [,,,]. returning the descriptions dictionary returns a dictionary like {'text1':} the _p_changed variable is set to 1 after the dictionary is updated. Where is my acquisition? Why are the instances not showing up in the descriptions dictionary? Some code: class Texts(SimpleItem.Item, Persistent, Implicit): "A class that holds text descriptions" meta_type = "Texts" manage_options = ({'label':'View','action':'index_html'},) def __init__(self,id,title): self.id=id self.title = title self.descritpions={} def manage_addTextDesc(self,id, title, authors, language, size,price, description,REQUEST=None): "Add a new text description to the Texts instance" desc = TextDesc.TextDesc(id, title, authors, language, size,price, description) self.products[id] = desc self._p_changed = 1 return self.index_html(REQUEST) class TextDesc(SimpleItem.Item,Persistent,Implicit): """A class to hold Text descriptions""" meta_type = "TextDesc" def __init__(self, id, title= '', authors='', language='', size=0,price=0, description=''): """"Set initial values""" self.id = id self.title = title self.authors = string.split(authors, ",") self.language = language self.size = size self.price = price self.description = description self.nreviews = 0 self.reviews = {} Thanks in advance Sean Kemplay __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Sean K wrote at 2003-2-2 02:50 -0800:
.... The main product contains a __getitem__ method, as does the descriptions product.
I can traverse to a description however a call to a mthod of the description product that returns the aq_chain displays as [,,,]. Your "__getitem__" must wrap the object into the context of the parent:
def __getitem__(self,key): return <get at the object>.__of__(self) Dieter
participants (2)
-
Dieter Maurer -
Sean K