On Sat, Jul 07, 2007 at 08:11:29AM +0200, Andreas Jung wrote:
> >1 external methods run in the same interpreter as zope
> right
> >2 external methods have access to a larger namespace and therefor more
> >functionality
> they have access to the *full* Python functionality
> >3 external methods inherit the same namespace available to scripts
> >running inside zope
> inherit? Using 'self' as first parameter give you access to the
> current object (for acquisition).
> >
> >4 external methods are not launched as forked or spawned child
> >processes
> right
> >
> >5 external methods do not have access to stdin/stdout
> There is no usecase for accessing stdin from external methods and you might
> to use stdout only for debugging purposes only.
> >
> >6 external methods must return only strings,
> Nonsense. External methods can return anything.

okay, I was thinking strictly in terms of using an external method in
a tal statment. All the examples I've seen in the zope book all have
external methods return html or xml as data that is sent back to the
browser. I never though of having an external method return a standard
python object back to a script and then have the script do something
with the object.

It would be really nice if there were more examples of using external
methods -- my concept of how to use them gets limited by the examples
that I see.

So, if there are more examples or use cases of external methods, I'd
appreciate a pointer to them.


> >but they may be unicode
> >string as long as they are valid xml string data
> Nonsense. There is no contract in Zope telling some method
> to return XML at all.
> >
> >Something that I don't understand is how to handle an exception. For
> >example, if I have an external method that appends data to the end of
> >a file, if there is an IOException how to I capture it and send a
> >message back to zope with something informative?
> You must raise an exception if your failure is supposed to perform
> a ZODB abort operation. Otherwise catch the exception and return some 
> friendly error message back.
> -aj

David Bear
phone:  602-496-0424
fax:    602-496-0955
College of Public Programs/ASU
University Center Rm 622
411 N Central
Phoenix, AZ 85007-0685
 "Beware the IP portfolio, everyone will be suspect of trespassing"
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to