From 45016290b4f329f2a3e9c29f3d83cd91f781c0bd Mon Sep 17 00:00:00 2001 From: Christophe de Vienne Date: Fri, 28 Oct 2011 12:24:15 +0200 Subject: [PATCH] Add type validation on complex type attributes assignment --- wsme/types.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wsme/types.py b/wsme/types.py index d19064a..8f66752 100644 --- a/wsme/types.py +++ b/wsme/types.py @@ -76,6 +76,11 @@ class wsattr(object): return getattr(instance, '_' + self.key, Unset) def __set__(self, instance, value): + if value is not None and not isinstance(value, self.datatype): + raise ValueError( + "Wrong type for attribute %s. Expected '%s', got '%s'" % ( + self.key, self.datatype, type(value) + )) setattr(instance, '_' + self.key, value) def __delete__(self, instance):