[Zope] Getting information about current method

Jan-Ole Esleben esleben at gmail.com
Sat Jun 18 13:01:47 EDT 2005


Well, thanks anyway for your suggestions; I hope someone else can
suggest something; my intuition is that it isn't possible (without
going really low level), and that would really be bad...

Ole


2005/6/17, Peter Bengtsson <peterbe at gmail.com>:
> On 6/17/05, Jan-Ole Esleben <esleben at gmail.com> wrote:
> > It's an application instance wrapped in a list; it seems to be
> > identical to self, actually - self.REQUEST['URL'] and
> > self.REQUEST.PARENTS[0].REQUEST['URL'] are the same. However, the two
> > REQUESTs are not the identical object (== returns False).
> >
> 
> Then I don't know.
> (The application instance is none other than zope itself. )
> I can honestly not think of a way to extract this information. I've
> even tried setting up a simple example method and I couldn't get hold
> of the zodb name of the external method that is called.
> 
> Perhaps Andreas or Dieter can help us here??
> 
> 
> > Ole
> >
> >
> > 2005/6/17, Peter Bengtsson <peterbe at gmail.com>:
> > > On 6/17/05, Jan-Ole Esleben <esleben at gmail.com> wrote:
> > > > No, I'm sorry; I only get system paths.
> > > >
> > > And what about REQUEST.PARENTS? (or is that just the http request)
> > >
> > >
> > > > Ole
> > > >
> > > >
> > > > 2005/6/17, Peter Bengtsson <peterbe at gmail.com>:
> > > > > On 6/17/05, Jan-Ole Esleben <esleben at gmail.com> wrote:
> > > > > > Unforunately, this just gives me the pythonic path to the method; what
> > > > > > I need for a TALES expression is the ZOPE path - i.e. what I get from
> > > > > > the stack frame is
> > > > > > ... E:\zope\Extensions\req.py ...
> > > > > > but what I need is
> > > > > > ... http://localhost:8080/ReqTest ...
> > > > > >
> > > > >
> > > > > Ok, maybe inspect.stack()[1] was the wrong one. Can't remember nor
> > > > > test it for you but try any of the others in that list. Eg.
> > > > > inspect.stack()[0] or inspect.stack()[2]
> > > > >
> > > > > You can maybe find something by going through REQUEST.PARENTS
> > > > >
> > > > >
> > > > > > Ole
> > > > > >
> > > > > >
> > > > > > 2005/6/17, Peter Bengtsson <peterbe at gmail.com>:
> > > > > > > Then, in your External method, try::
> > > > > > >
> > > > > > >  import inspect
> > > > > > >  print inspect.stack()[1]
> > > > > > >
> > > > > > >
> > > > > > > On 6/17/05, Jan-Ole Esleben <esleben at gmail.com> wrote:
> > > > > > > > I want to know the name (and path) of the _External Method_ from
> > > > > > > > inside it. What I _can_ get is the name of the DTML method.
> > > > > > > >
> > > > > > > > I want to build generic scaffolding code for functions that
> > > > > > > > conditionally redispatch as asynchronous calls (via ZASync); that
> > > > > > > > part, however, isn't a problem at all - everything works fine as long
> > > > > > > > as I use an HTTP request directly and redispatch with information from
> > > > > > > > the REQUEST. The problem is that I need a TALES expression to call the
> > > > > > > > function again (asynchronously this time), and for that I need the
> > > > > > > > ZOPE path to it.
> > > > > > > >
> > > > > > > > Ole
> > > > > > > >
> > > > > > > > 2005/6/17, Peter Bengtsson <peterbe at gmail.com>:
> > > > > > > > > > is there a generic way to find out from Python code which method has
> > > > > > > > > > been called (in other words: find out where the current method is
> > > > > > > > > > located in the ZOPE hierarchy and what its name is)? If I call an
> > > > > > > > > > External Method via a DTML method, of course the REQUEST object
> > > > > > > > > > contains the path to the DTML method because the External Method
> > > > > > > > > > hasn't been called via HTTP. I haven't been able to figure out any
> > > > > > > > > > other way of getting this information.
> > > > > > > > > >
> > > > > > > > > I don't get it. Do you want to know the name of the DTML method from
> > > > > > > > > inside the External method?
> > > > > > > > > Perhaps I'll be able to help if you tell us more about the intention
> > > > > > > > > of this code.
> > > > > > > > >
> > > > > > > > > > Thanks in advance,
> > > > > > > > > > Ole
> > > > > > > > > > _______________________________________________
> > > > > > > > > > Zope maillist  -  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 )
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Peter Bengtsson,
> > > > > > > > > work www.fry-it.com
> > > > > > > > > home www.peterbe.com
> > > > > > > > > hobby www.issuetrackerproduct.com
> > > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > Zope maillist  -  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 )
> > > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Peter Bengtsson,
> > > > > > > work www.fry-it.com
> > > > > > > home www.peterbe.com
> > > > > > > hobby www.issuetrackerproduct.com
> > > > > > >
> > > > > > _______________________________________________
> > > > > > Zope maillist  -  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 )
> > > > > >
> > > > >
> > > > > --
> > > > > Peter Bengtsson,
> > > > > work www.fry-it.com
> > > > > home www.peterbe.com
> > > > > hobby www.issuetrackerproduct.com
> > > > >
> > > > _______________________________________________
> > > > Zope maillist  -  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 )
> > > >
> > >
> > > --
> > > Peter Bengtsson,
> > > work www.fry-it.com
> > > home www.peterbe.com
> > > hobby www.issuetrackerproduct.com
> > >
> > _______________________________________________
> > Zope maillist  -  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 )
> >
> 
> --
> Peter Bengtsson,
> work www.fry-it.com
> home www.peterbe.com
> hobby www.issuetrackerproduct.com
>


More information about the Zope mailing list