[Zope] __bobo_traverse__ or similiar with python tales expression?
Sebastian Tänzer
st at taenzer.me
Sun Jul 12 23:30:17 CEST 2015
As I’m still experimenting with this maybe someone here could answer that one:
I have PythonScripts or PageTemplates inside a folderish container in the tree:
root
- folder1
— object1
— folder2
—— script1
—— script2
—— template1
I’d like object1 to acquire script1, script2 and template1 from folder2 as if they were attributes/methods of object1, though they’re not.
I’ve played around with modifying __of__ and tried some stuff with __getattr__ and __getattribute__, but no success so far.
A simple
def __of__(self, parent):
""" ... """
return self.__of__(self.folder2)
in the class of object1 is not working as it always returns "The object at root.folder2 has an empty or missing docstring. Objects must have a docstring to be published.“
the object1 class definitely has a docstring.
Any hints how to achieve what I’m trying? Wrong approach?
Best, Sebastian
> Anfang der weitergeleiteten Nachricht:
>
> Von: Sebastian Tänzer <st at taenzer.me>
> Betreff: __bobo_traverse__ or similiar with python tales expression?
> Datum: 11. Juli 2015 19:53:29 MESZ
> An: zope at zope.org
>
> Hello fellow Zopees,
>
> the product we’re using (ZMS) allows methods as attributes to custom object models. These methodes (PythonScript) are created inside a metamanager container as „Wiki.mymethod“, where Wiki is the meta type of the custom object.
>
> The pathhandler method of these custom objects modifies __bobo_traversal__ for normal http requests and maps these non-existing methods in that context to existing methods in the metaobj_manager container using the context meta_id.
>
> Calling the same method from a PageTemplate or other PythonScript does not reflect that and - not surprisingly - returns an AttributeError:
>
> File "/opt/python/zope2-pip/lib/python2.7/site-packages/Products/PageTemplates/ZRPythonExpr.py", line
> 48, in __call__
> return eval(self._code, vars, {})
> File "PythonExpr", line 1, in <expression>
> AttributeError: dummyFunction
>
> Is there a way to modify traversal behaviour from the Product or somehow different?
>
> Best
> Sebastian
More information about the Zope
mailing list