[Zope-dev] Python Product as DataSkin

Steve Alexander steve@cat-box.net
Wed, 21 Feb 2001 09:19:51 +0000


Michael R. Bernstein wrote:
 >
 > File /home/webmaven/Products/ZPatterns/DataSkins.py, line 208, in
 > __set_attr__ (Object: ElementWithAttributes) KeyError: (see above)



What version of ZPatterns are you using?

I certainly don't have the __set_attr__ method covering line 208 in my 
version.

This looks like a bug I reported (w/ patch) for the last but one 
"official" release, the fix to which made it into ZPatterns-0.4.3b2 (the 
latest one on the ZPatterns page).

The first few lines of the __set_attr__ method of DataSkin.py should 
look like this:


     def __set_attr__(self,name,val,_v_dm_=_v_dm_):
         try:
             dm = self.__dict__[_v_dm_]
         except KeyError:
             if name=='id' and val==self.__dict__['id']: return
             raise

If they don't, you'll get the error that you're reporting.

Try installing the latest ZPatterns and see what happens. If you're 
using Zope 2.2.x, use the "official" one. If you're using Zope 2.3, 
you'll need to apply various patches, or use my interim version, which 
works only with Zope 2.3.

   http://www.cat-box.net/steve/ZPatterns-stevea-20010204.tar.gz

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net