[Zope-dev] Re: [Zope-CMF] How to get Type in manage_afterAdd?
   
    Dieter Maurer
     
    dieter@handshake.de
       
    Fri, 1 Feb 2002 20:27:42 +0100
    
    
  
Florent Guillaume writes:
 > Anyway I'd propose the following: we need, in constructInstance, to
 > somehow pass the portal_type to the object constructor. Unfortunately
 > this has to be backwards-compatible with all the constructors out there
 > that don't know about it. I see two possible ugly solutions to do it:
 > 
 >   - do "constructor.__portal_type = portal_type" before calling
 >     constructor(...), and the constructor does something like:
 >     def manage_addFoo(...):
 >       try:
 >         portal_type = manage_addFoo.__portal_type
 >         manage_addFoo.__portal_type = None
 >       except:
 >         portal_type = None
Usually, this dynamic modification is not a good idea in a multi-threaded
environment.
If "constructor" is (part of) a persistent object, it might work in
Zope but may entail unnecessary writes to the ZODB.
Dieter