Re: [Zope-dev] __setattr__ and acquisition ( was RE: __getattr__and acquisition)

2002-06-06 Thread Leonardo Rochael Almeida

The only way I know is to put a wrapped object in a ._v_attribute, which
means a volatile attribute.

You can put, for instance, a wrapped self in, for instance
self._v_alterEgo, this way you can do wrapped transversals thru it.

How do you get a wrapped self to put there is an exercise left to the
reader :-) tip: it's no use trying to do it in .__setstate__, as self is
not wrapped there either, last I checked.

On Wed, 2002-06-05 at 16:24, Erik A. Dahl wrote:
 Yep.  This is a problem for me I'm trying to find something through 
 acquisition in my __setattr__.  Self  is totally unwrapped.  Can anyone 
 think of a creative solution?  aq_acquire doesn't help because self is 
 not a wrapped object. :(  Can't pass in the object I want because the 
 whole point of the setattr is to get around the function call.
 

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] __setattr__ and acquisition ( was RE: __getattr__and acquisition)

2002-06-05 Thread Shane Hathaway

Nicholas Henke (by way of Nicholas Henke ) wrote:
 Given the following code:
  I can see why access to self.thing fails in Inner::__setattr__, but the 
 question is how do I do that -- can I not use __setattr__ and have to use a 
 setAttr that is accessed via O.I.setAttr('help','me rhonda') ?

Acquisition uses a subtle trick that makes everything work: the self 
passed to most methods is actually an acquisition wrapper, rather than 
the object itself.  But the self passed to certain methods like 
__setattr__() is not wrapped.  I'm sure there's a good reason.

HTH.

Shane



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] __setattr__ and acquisition ( was RE: __getattr__and acquisition)

2002-06-05 Thread Erik A. Dahl

Yep.  This is a problem for me I'm trying to find something through 
acquisition in my __setattr__.  Self  is totally unwrapped.  Can anyone 
think of a creative solution?  aq_acquire doesn't help because self is 
not a wrapped object. :(  Can't pass in the object I want because the 
whole point of the setattr is to get around the function call.

-EAD

Shane Hathaway wrote:

 Nicholas Henke (by way of Nicholas Henke ) wrote:

 Given the following code:
  I can see why access to self.thing fails in Inner::__setattr__, but 
 the question is how do I do that -- can I not use __setattr__ and 
 have to use a setAttr that is accessed via O.I.setAttr('help','me 
 rhonda') ?


 Acquisition uses a subtle trick that makes everything work: the self 
 passed to most methods is actually an acquisition wrapper, rather than 
 the object itself.  But the self passed to certain methods like 
 __setattr__() is not wrapped.  I'm sure there's a good reason.

 HTH.

 Shane



 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )





___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] __setattr__ and acquisition ( was RE: __getattr__and acquisition)

2002-06-05 Thread Casey Duncan

Why rely on __setattr__? Why not just create a regular setter function
that can use acquisition instead of being clever?

-Casey

On Wed, 2002-06-05 at 15:24, Erik A. Dahl wrote:
 Yep.  This is a problem for me I'm trying to find something through 
 acquisition in my __setattr__.  Self  is totally unwrapped.  Can anyone 
 think of a creative solution?  aq_acquire doesn't help because self is 
 not a wrapped object. :(  Can't pass in the object I want because the 
 whole point of the setattr is to get around the function call.
 
 -EAD
 
 Shane Hathaway wrote:
 
  Nicholas Henke (by way of Nicholas Henke ) wrote:
 
  Given the following code:
   I can see why access to self.thing fails in Inner::__setattr__, but 
  the question is how do I do that -- can I not use __setattr__ and 
  have to use a setAttr that is accessed via O.I.setAttr('help','me 
  rhonda') ?
 
 
  Acquisition uses a subtle trick that makes everything work: the self 
  passed to most methods is actually an acquisition wrapper, rather than 
  the object itself.  But the self passed to certain methods like 
  __setattr__() is not wrapped.  I'm sure there's a good reason.
 
  HTH.
 
  Shane
 
 
 
  ___
  Zope-Dev maillist  -  [EMAIL PROTECTED]
  http://lists.zope.org/mailman/listinfo/zope-dev
  **  No cross posts or HTML encoding!  **
  (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )
 
 
 




___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )