__bobo_traverse__ (Cont.)
Hi In my last mail I ask you (thanks for your responses) about an error publishing the object in __bobo_traverse__ The solution passes by returning an object instead a string (I would like to return a string :( ) Then my __bobo_traverse__ is something like: def __bobo_traverse__(self, REQUEST, name): obj = getattr(self, name, None) if obj is not None: return obj else: return getattr(self, 'Result') But I need to process some information in bobo_traverse before returns Result If you change the line return getattr(self, 'Result') for return getattr(self, 'Result')('someresults') doesn't work For that I need to do something like: _Results = dict() # I put these declaration in my class def __bobo_traverse__(self, REQUEST, name): obj = getattr(self, name, None) if obj is not None: return obj else: self._Results[str(REQUEST.SESSION.id)] = self.MyResult() return getattr(self, 'Result') def MyResult(self): """MyResult""" return 'This is my test result' def GetResults(self, Session): """ GetResults""" return self._Results[str(Session)] Then I create a Python Script called Result like: return context.GetResults(context.REQUEST.SESSION.id) But all these code raise: Traceback (innermost last): Module ZPublisher.Publish, line 91, in publish Module ZPublisher.BaseRequest, line 302, in traverse Module Products.MyProducts.MyProduct, line 116, in __bobo_traverse__ TypeError: object does not support item assignment I can't undersand why can't I assign a dictionary. I can understand if I try to assign a number like dictionary key (but I convert the session id to a string) Some ideas? THANKS AGAIN!
participants (1)
-
Garito