[ZPT] Re: Zope Persistent Objects
    Casey Duncan 
    casey at zope.com
       
    Tue Mar 23 13:26:57 EST 2004
    
    
  
On Tue, 23 Mar 2004 12:14:16 -0600
"Nguyen, Joe" <Joe.Nguyen at coair.com> wrote:
> Hi, 
> 
>  
> 
> Simple question; if I passed in a dictionary from an external method.
> How would I keep that dictionary persistent so that I can refer to it
> anytime? For instance,
What do you mean by anytime?
This request?
In this case use: 
  REQUEST.set('dictObj', dictObj) 
to store and 
  dictObj = REQUEST['dictObj']
to retreive.
For this user's session?
In that case use:
  REQUEST.SESSION['dictObj'] = dictObj
to store and
  dictObj = REQUEST.SESSION['dictObj']
to retreive.
Forever (including after Zope restarts) is a bit more involved, but in
the external method you could set it as as attribute of some object
(like the cmf portal or folder object), but that is a hack. It's easy
though in the ext. method:
  portal = self.portal_url.getPortalObject()
  portal.dictObj = dictObj
to retrieve (from a python script) use:
  dictObj = context.dictObj
If you want to do this the "right way" you should store the dict values
as properties or store the whole dict in a custom Zope object.
hth,
-Casey
  
> 
>  
> 
> In a python script, I would have something similar to dictObject =
> passInDictionaryObject.
> 
> How do I make this so I can retrieve "dictObject" anytime I want to? 
> Do I use ZODB?  I've read over it a little but im nto sure if that's
> the right way to go.  Can I just do a test =
> context.REQUEST.get('dictObject') without passing variables?  Please
> help.
> 
>  
> 
> Joe
> 
>  
> 
>  
> 
> 
    
    
More information about the ZPT
mailing list