Hmm, that's strange.

Maybe if you call the __getitem__ function itself? :

return Folder.__getitem__(self, key)

It should be working though....

__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 <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:


    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 <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>:

        -----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          [EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>
        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@zope.org <mailto:Zope@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@zope.org <mailto:Zope@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: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> | web: http://www.fourdigits.nl

    tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117

    _______________________________________________
    Zope maillist  -  Zope@zope.org <mailto:Zope@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: [EMAIL PROTECTED] | web: http://www.fourdigits.nl
tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117



--
Martijn Jacobs
Four Digits, Internet Solutions

a: Willemsplein 15-1 6811 KB Arnhem NL kvk: 091621370000 | btw: 8161.22.234.B01
e-mail: [EMAIL PROTECTED] | web: http://www.fourdigits.nl
tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117
_______________________________________________
Zope maillist  -  Zope@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 )

Reply via email to