[Zope-dev] Adding ZClass Instances via Python

Casey Duncan cduncan@kaivo.com
Fri, 16 Mar 2001 14:51:11 -0700


Edmund Goppelt wrote:
> 
> Ok, I know there's a howto with a working solution to this problem,
> but this is *still* killing me:
> 
> How does one add a ZClass Instance in a way analagous to adding, say,
> a DTML Document in a Python script?
> 
> With the dtml document, it's easy:
> 
> container.manage_addProduct['OFSP'].addDTMLDocument('anid', 'atitle','a file')
> 
> I've tried the following, which don't work, as well as a variety of
> permutations and combinations involving container & context.
> 
> constructor.Bill_add(None, context)
> constructor.Bill_add(container, cons, REQUEST)
> 
> # Is this how one sets the REQUEST variable from a script?  Can the
> # REQUEST variable be set from any valid Zope object, e.g,:
> # Anywhere.Anyobject.REQUEST.set('dfkjd', 123) will change the
> # variable dfkjd in the REQUEST object?
> 
> container.REQUEST.set('id', '9389483484')
> container.REQUEST.set('title', 'a title')
> constructor=container.manage_addProduct['Bill']
> 
> The problem seems to have something to do with the getting the
> contexts right and getting the REQUEST info. passed to the
> constructor, but I'm just guessing at this point.
> 
> Bill_add is the standard dtml method constructor created by the ZClass product.
> 

self = self.this()
ob = self.Control_Panel.Products.SomeProduct.SomeZClass(id)
ob._setId(id)
...Other inits such as property sheets, etc...
self._setObject(id, ob)

-- 
| Casey Duncan
| Kaivo, Inc.
| cduncan@kaivo.com
`------------------>