__getattr__ gets the 'true self' as argument while other methods always get
an acquisition wrapped self, this is by design. Usually it's not a good idea
to override __getattr__ of acquisition aware objects.


----- Original Message -----
From: "John Ziniti" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, December 06, 2001 5:06 PM
Subject: [Zope-dev] getPhysicalPath differs for function vs. __getattr__


> Sorry the subject is not so discriptive, but
> here is the issue I am dealing with.  I wonder
> whether this has to do with the way Zope deals
> with objects or has something to do with Python:
>
> I have an Python Product class "Object".  With
> the following bits of code, I get different results
> from a <dtml-var>, depending on what I use.
>
> class Object(PropertyManager, Implicit, Item):
>      def get_path(self):
>          """Return a path to myself"""
>          path=string.join(self.getPhysicalPath()[1:], '/')
>          return path
>
>      def __getattr(self, attr):
>          """Return a path to myself"""
>          if attr == 'path':
>              path=string.join(self.getPhysicalPath()[1:], '/')
>              return path
>          else:
>              raise AttributeError, attr
>
> Now the following two dtml tags yield:
>
> <dtml-var "get_path()"> => /path/to/object
>
> <dtml-var "path"> => object
>
> Hopefully you see what I mean.  Why does this happen?
> Can I put it in the collector as a bug?
>
> TIA,
>
> Ziniti
>
>
> _______________________________________________
> 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 )

Reply via email to