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@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@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/Virtual...
[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@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@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 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@fourdigits.nl | 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 )