This is OT, but I have a deadline approaching and needed to go where the ZEO users are 
so
I can get this figured out as soon as possible, in case zope-general doesn't yield a
suggestion. Thanks in advance for any help anyone can offer, hopefully this is old-hat 
to
some of the people on this list.

I'm using CVS ZEO2 with Zope 2.5.1 connected via ClientStorage on the same machine. My
python console is PythonWin installed under Zope's python. Long story short, I'm 
adding a
few methods to Formulator, but the question here is about python product development in
general.

My console isn't aware of product refreshes. What should I be doing to get the python
console to recognize the updated python product code when I run a refresh from the
ZEO-connected Zope ZMI? Here's a
sample console problem demonstrating the symptoms, and some of the things I've tried to
avoid closing out the python console each time I change python code in a product.
This is probing how to get the console to recognize that __setitem__'s implementation 
has
changed from 'print test1' to 'print test2' after the first call.

PythonWin 2.1.3 (#35, Apr  8 2002, 17:47:50) [MSC 32 bit (Intel)] on win32.
Portions Copyright 1994-2001 Mark Hammond ([EMAIL PROTECTED])
>>> import Zope, Products, ZEO, ZODB
>>> storage = ZEO.ClientStorage.ClientStorage(('localhost', 8800))
>>> db = ZODB.DB(storage)
>>> conn = db.open()
>>> dbroot = conn.root()
>>> app = dbroot.get('Application')
>>> app.Formulator.form3.str1['required'] = 0
test1
>>> app.Formulator.form3.str1['required'] = 0  # Prod refresh in ZMI, expecting 'test2'
test1
>>> storage.close()
>>> storage = ZEO.ClientStorage.ClientStorage(('localhost', 8800))
>>> db = ZODB.DB(storage)
>>> conn = db.open()
>>> dbroot = conn.root()
>>> app = dbroot.get('Application')
>>> app.Formulator.form3.str1['required'] = 0 # looking for 'test2'
test1
>>> reimport Products.Formulator.Form
>>> app.Formulator.form3.str1['required'] = 0 # looking for 'test2'
test1
>>> reload(Products.Formulator)
<module 'Products.Formulator' from
'C:\PROGRA~1\Zope\lib\python\Products\Formulator\__init__.pyc'>
>>> app.Formulator.form3.str1['required'] = 0 # expecting 'test2'
test1
>>> Zope.ZPublisher.Zope('/Control_Panel/Products/Formulator/manage_performRefresh',
u='Username:password')
Status: 200 OK (snip)
>>> app.Formulator.form3.str1['required'] = 0 # looking for 'test2'
test1
>>>






_______________________________________________
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to