[Checkins] SVN: lovely.relation/trunk/ Remove proxies before
storing relations in data relations
Juergen Kartnaller
juergen at kartnaller.at
Fri Sep 21 11:29:27 EDT 2007
Log message for revision 79797:
Remove proxies before storing relations in data relations
Changed:
U lovely.relation/trunk/CHANGES.txt
U lovely.relation/trunk/setup.py
U lovely.relation/trunk/src/lovely/relation/dataproperty.py
-=-
Modified: lovely.relation/trunk/CHANGES.txt
===================================================================
--- lovely.relation/trunk/CHANGES.txt 2007-09-21 13:10:37 UTC (rev 79796)
+++ lovely.relation/trunk/CHANGES.txt 2007-09-21 15:29:27 UTC (rev 79797)
@@ -5,6 +5,12 @@
After
=====
+2007/09/21 1.1.0a4
+==================
+
+- remove proxies before storing relations in data relations
+
+
2007/09/17 1.1.0a3
==================
Modified: lovely.relation/trunk/setup.py
===================================================================
--- lovely.relation/trunk/setup.py 2007-09-21 13:10:37 UTC (rev 79796)
+++ lovely.relation/trunk/setup.py 2007-09-21 15:29:27 UTC (rev 79797)
@@ -21,7 +21,7 @@
from setuptools import setup, find_packages, Extension
setup(name='lovely.relation',
- version='1.1.0a3',
+ version='1.1.0a4',
url='http://svn.zope.org/lovely.relation',
license='ZPL 2.1',
description='Lovely Relation Packages for Zope3',
Modified: lovely.relation/trunk/src/lovely/relation/dataproperty.py
===================================================================
--- lovely.relation/trunk/src/lovely/relation/dataproperty.py 2007-09-21 13:10:37 UTC (rev 79796)
+++ lovely.relation/trunk/src/lovely/relation/dataproperty.py 2007-09-21 15:29:27 UTC (rev 79797)
@@ -20,6 +20,7 @@
from zope import interface
+from zope.proxy import removeAllProxies
from zope.annotation.interfaces import IAttributeAnnotatable
from app import O2OStringTypeRelationship
@@ -57,6 +58,7 @@
def __set__(self, inst, value):
if self._field.readonly:
raise ValueError(self._name, 'field is readonly')
+ value = removeAllProxies(value)
if value is None:
v = None
elif not self._manager.seqOut:
@@ -69,10 +71,10 @@
if v.relations == []:
v.relations = [self._relType]
else:
- v = value
+ v = [removeAllProxies(v) for v in value]
for val in v:
if not IDataRelationship.providedBy(val):
- raise TypeError
+ raise TypeError('%s'% val)
if val.target is None:
raise ValueError('target for data relation must not be None')
for val in v:
More information about the Checkins
mailing list