[Zope] Re: Question about dot in method name

bard stéphane stephane.bard at gmail.com
Wed Mar 26 16:32:19 EDT 2008


__getitem__ raise an exception :
*Error Type: AttributeError*
*Error Value: 'super' object has no attribute '__getitem__'

my class derive from
    (ObjectManager, BTreeFolder2, PropertyManager):
I test :
**    (ObjectManager, Folder PropertyManager):*
**and got the same exception

the method of Sascha is working (This is a satisfaction). but i'm
very interesting to understand the method proposed by Martijn.


Martijn Jacobs a écrit :
> Hi Stéphane.
>
> Check out 
> http://www.zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx
>
> See the heading "Traversal methods" where this is explained.
>
>
>
> Martijn.
>> Great, I should test this code tonight !
>> some more question : id don't understand the two different usage  of 
>> __getitem__
>> and __bobo_traverse__. __bobo_traverse__ seems to be a way to control
>> url walk and __getitem__ control the way attributs can be load by zope.
>>
>> If I change the URL when I use __bobo_traverse__ it works, and if I 
>> change the way
>> I'm searching attributs in zope object tree it works too. Is it correct ?
>>
>>
>> 2008/3/26, Martijn Jacobs <martijn at fourdigits.nl 
>> <mailto:martijn at fourdigits.nl>>:
>>
>>
>>     If you have a zope product you can do something like this indeed :
>>
>>     class MyContainer(Folder):
>>        """My Folderish Product"""
>>
>>        def mydoc_xls(self, REQUEST=None):
>>           """My new xls method"""
>>           return "My new xls method"
>>
>>        def __getitem__(self, key):
>>           """Check for mydoc.xls, then return mydoc_xls"""
>>           if key == 'mydoc.xls':
>>                return self.mydoc_xls
>>           return super(Folder, self).__getitem__(key)
>>
>>
>>
>>>     Hi!
>>>     Hey, Tres, could you point us to a web example or a web page
>>>     with more information about that technique?
>>>     I'm very interested on it and the technique that was introduced
>>>     sometime ago about how to return a string as __bobo_traverse__
>>>     response but the example was uncompleted (for me at least)
>>>
>>>     This kind of information was very useful for many of us but
>>>     there are no good tutorial or how-to
>>>
>>>     Thanks a lot!
>>>
>>>     2008/3/26, Tres Seaver <tseaver at palladion.com
>>>     <mailto:tseaver at palladion.com>>:
>>>
>>>         -----BEGIN PGP SIGNED MESSAGE-----
>>>         Hash: SHA1
>>>
>>>
>>>         Martijn Jacobs wrote:
>>>         > Maybe a simple solution  :
>>>         >
>>>         > Do you use apache as a frontend for your zope? If you do
>>>         you can rewrite
>>>         > the incoming url's for example like this :
>>>         >
>>>         > RewriteEngine On
>>>         > RewriteRule ^/folder/mydoc.xls(.*)
>>>         > http://localhost:8080/VirtualHostBase/http/myIntranet/object_in_zope/VirtualHostRoot/mydoc_xls$1
>>>         > [L,P]
>>>
>>>
>>>         Or add a '__getitem__' to your class that looks for that key
>>>         and returns
>>>         the right method.
>>>
>>>
>>>         Tres.
>>>         - --
>>>         ===================================================================
>>>         Tres Seaver          +1
>>>         540-429-0999          tseaver at palladion.com
>>>         <mailto:tseaver at palladion.com>
>>>         Palladion Software   "Excellence by
>>>         Design"    http://palladion.com
>>>         -----BEGIN PGP SIGNATURE-----
>>>         Version: GnuPG v1.4.6 (GNU/Linux)
>>>         Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>>>
>>>         iD8DBQFH6ZfK+gerLs4ltQ4RAgdjAJ9bwmIjAbqkG1YKUyrgbKSG47FlXgCdHW+P
>>>         GzL6mjcA1K8t9Q/5Y75tfF4=
>>>         =mySN
>>>         -----END PGP SIGNATURE-----
>>>
>>>
>>>         _______________________________________________
>>>         Zope maillist  -  Zope at zope.org <mailto:Zope at zope.org>
>>>         http://mail.zope.org/mailman/listinfo/zope
>>>         **   No cross posts or HTML encoding!  **
>>>         (Related lists -
>>>           http://mail.zope.org/mailman/listinfo/zope-announce
>>>           http://mail.zope.org/mailman/listinfo/zope-dev )
>>>
>>>
>>>
>>>
>>>     -- 
>>>     Mis Cosas
>>>     http://blogs.sistes.net/Garito
>>>     Zope Smart Manager
>>>     http://blogs.sistes.net/Garito/670
>>>     ------------------------------------------------------------------------
>>>
>>>     _______________________________________________
>>>     Zope maillist  -  Zope at zope.org <mailto:Zope at zope.org>
>>>
>>>     http://mail.zope.org/mailman/listinfo/zope
>>>     **   No cross posts or HTML encoding!  **
>>>     (Related lists - 
>>>
>>>      http://mail.zope.org/mailman/listinfo/zope-announce
>>>      http://mail.zope.org/mailman/listinfo/zope-dev )
>>>
>>>       
>>
>>
>>     -- 
>>     Martijn Jacobs
>>     Four Digits, Internet Solutions
>>
>>     a: Willemsplein 15-1 6811 KB Arnhem NL 
>>     kvk: 091621370000 | btw: 8161.22.234.B01
>>     e-mail: martijn at fourdigits.nl <mailto:martijn at fourdigits.nl> | web: http://www.fourdigits.nl
>>
>>     tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117 
>>
>>
>>     _______________________________________________
>>     Zope maillist  -  Zope at zope.org <mailto:Zope at zope.org>
>>     http://mail.zope.org/mailman/listinfo/zope
>>     **   No cross posts or HTML encoding!  **
>>     (Related lists -
>>      http://mail.zope.org/mailman/listinfo/zope-announce
>>      http://mail.zope.org/mailman/listinfo/zope-dev )
>>
>>
>
>
> -- 
> Martijn Jacobs
> Four Digits, Internet Solutions
>
> a: Willemsplein 15-1 6811 KB Arnhem NL 
> kvk: 091621370000 | btw: 8161.22.234.B01
> e-mail: martijn at fourdigits.nl | web: http://www.fourdigits.nl
> tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117 
>   



More information about the Zope mailing list