zope.schema validation can create read/write conflicts
Hello, I've been experiencing, for quite some time, now, read/write conflicts in my projects. I've decided to hunt the problem down and it brought me down to the field validation in zope.schema. My use case is the following : class SomeAdapter(object): my_object = FieldProperty(ISomeInterface['my_object']) def __init__(self, context): self.my_object = context If "my _object" from ISomeInterface is an Object field and has a 'schema' property, zope.schema will validate it. The validation code writes an attribute on the value that is being validated and therefore can create a read/write error. The incriminated code is here : http://svn.zope.org/zope.schema/trunk/src/zope/schema/_field.py?rev=111614&r... In my case, the value was an OOBTree and that caused a lot of read/write errors. Can we do something about this validation code ? Could it be a possible solution to change the "__validating_schema" attribute into a _v_ attribute, to avoid the persistency ? Thank you for reading me. - Souheil
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/22/2010 05:48 PM, Souheil CHELFOUH wrote:
Hello,
I've been experiencing, for quite some time, now, read/write conflicts in my projects. I've decided to hunt the problem down and it brought me down to the field validation in zope.schema.
My use case is the following :
class SomeAdapter(object): my_object = FieldProperty(ISomeInterface['my_object'])
def __init__(self, context): self.my_object = context
If "my _object" from ISomeInterface is an Object field and has a 'schema' property, zope.schema will validate it. The validation code writes an attribute on the value that is being validated and therefore can create a read/write error.
The incriminated code is here : http://svn.zope.org/zope.schema/trunk/src/zope/schema/_field.py?rev=111614&r...
In my case, the value was an OOBTree and that caused a lot of read/write errors. Can we do something about this validation code ? Could it be a possible solution to change the "__validating_schema" attribute into a _v_ attribute, to avoid the persistency ?
Thank you for reading me.
+1. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0ShsAACgkQ+gerLs4ltQ5jyACgjEN4G3aHYJeNapNX/1cZxnwD 60cAn0dhsk02xG3KO7YhdRjippbCqrc8 =rs5b -----END PGP SIGNATURE-----
Done and commited. If anyone can and want to release, it's ready. 2010/12/23 Tres Seaver <tseaver@palladion.com>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 12/22/2010 05:48 PM, Souheil CHELFOUH wrote:
Hello,
I've been experiencing, for quite some time, now, read/write conflicts in my projects. I've decided to hunt the problem down and it brought me down to the field validation in zope.schema.
My use case is the following :
class SomeAdapter(object): my_object = FieldProperty(ISomeInterface['my_object'])
def __init__(self, context): self.my_object = context
If "my _object" from ISomeInterface is an Object field and has a 'schema' property, zope.schema will validate it. The validation code writes an attribute on the value that is being validated and therefore can create a read/write error.
The incriminated code is here : http://svn.zope.org/zope.schema/trunk/src/zope/schema/_field.py?rev=111614&r...
In my case, the value was an OOBTree and that caused a lot of read/write errors. Can we do something about this validation code ? Could it be a possible solution to change the "__validating_schema" attribute into a _v_ attribute, to avoid the persistency ?
Thank you for reading me.
+1.
Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk0ShsAACgkQ+gerLs4ltQ5jyACgjEN4G3aHYJeNapNX/1cZxnwD 60cAn0dhsk02xG3KO7YhdRjippbCqrc8 =rs5b -----END PGP SIGNATURE-----
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
Le 24/12/10 13:03, Souheil CHELFOUH a écrit :
Done and commited.
Thanks !
If anyone can and want to release, it's ready.
3.7.1 released. -- Godefroid Chapelle (aka __gotcha) http://bubblenet.be
participants (3)
-
Godefroid Chapelle -
Souheil CHELFOUH -
Tres Seaver