On Fri, 3 Mar 2000, Tony McDonald wrote:
This is an example from an external method that Pavlos posted a while back.
class MCQ: ''' helper class for MCQ system''' def __init__(self, score): ''' constructor''' self.score = 0 self.total_score = 0
I think it is not a good idea to define classes in external methods. It is better to define them somewhere in Shared (see the directory DC under lib/python/Shared for example) and import them in your external method. import Shared.Tony.helper They can be very handy especially since python is way more elegant and easy for complex logic in relation to DTML.
What I would like to do is load up a template_lookups dictionary with quite a few entries;
for template_id in self.Actors.RENDER.objectIds(): renderer = eval("self.Actors.RENDER.%s" % template_id) template_lookups[template_id] = renderer
Thing is, I need access to the ZODB in one of my methods later in the module and so the above code doesn't work (too many 'selfs'!).
Anyone got any ideas?
Not sure. need some more info. Did you try to use getattr to get to object? tmp=self.Actors.RENDER renderer=getattr(tmp,template_id) What kind of object is template_id? Pavlos