Jonathan wrote:

----- Original Message ----- From: "David Bear" <[EMAIL PROTECTED]>
I need to run an external method to use some python functions that are
restricted within zope. I'm thinking an easy way to get the data back
would be to just store basic python objects within zodb; tupples,
lists, dictionaries.

Why not just have the external method return the results and call the external method from a python script?

but I've never seen this documented anywhere. Is it possible to store
basic python objects directly in zodb? AND then use a zpt to read the
data?

Yes.

in your external method:

self.somefolder.mydata = {'whatever':'somevalue'}

I have done something similar: have an external method store a a list/dictionary value in a property field on a folder, then a future call to the external method retrieves that property field and uses 'eval' to convert it back to a list/dictionary (it is stored as a string).

Why on *earth* would you do that?!
Why not just store the actual value rather than fiddling around with strings and eval?

The other approach I have used is to create a dead simple Zope product that just defines an object class (which contains lists, dictionaries, etc) and then have the external method store these objects directly in the ZODB.

You can either store in the root of the zodb, hang off an existing object, or just use SimpleItem.

cheers,

Chris

--
Simplistix - Content Management, Zope & Python Consulting
           - http://www.simplistix.co.uk
_______________________________________________
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 )

Reply via email to