[Zope] How can I know all the functions that are called by Zope?
Dieter Maurer
dieter@handshake.de
Fri, 20 Jun 2003 20:42:39 +0200
Igor Leturia wrote at 2003-6-19 16:49 +0200:
> I am trying to make a new Zope product, based on LocalFS, so I am
> trying to change the source code of LocalFS. But in my product, I need
> to know who is the authenticated user when someone tries to read a file
> in the local filesystem by writing its URL. The problem is that if I ask
> UserManager in any function in the source of LocalFS, it always tells me
> that it is no one. I think I read somewhere, sometime, that the
> authenticated user can't be read until the end of traversal. So the
> changes that I have to make in the source code, have to be made
> somewhere where the traversal has already finished.
Apparently, there is a "validation_hook". Look at "Zope/__init__.py".
You find the traversal code in "ZPublisher.BaseRequest.BaseRequest.traverse".
> ...
> - Does anybody know all the functions that are called in the Zope
> sources when someone writes the URL of a file in the local filesystem?
You can use a profiler (e.g. "ZopeProfiler"
<http://www.dieter.handshake.de/pyprojects/zope>
). However, you will get an incredibly long list.
> - Or else, how can I know all the functions that are called, without
> having to put traces in all the functions in all the Zope source?
A profiler...
Dieter