Skip to content

Instantly share code, notes, and snippets.

@dlitvakb
Created November 26, 2011 16:36
Show Gist options
  • Select an option

  • Save dlitvakb/1395947 to your computer and use it in GitHub Desktop.

Select an option

Save dlitvakb/1395947 to your computer and use it in GitHub Desktop.
class Entity(object):
errors = {}
validators = {}
def __init__(self, **kwargs):
for name, value in kwargs.iteritems():
try:
if self._is_extra_property(name, value):
self._extra_properties(name, value)
continue
self.__setattr__(name, value)
except Exception, e:
self.errors[name] = [e.message]
def __setattr__(self, name, value):
if name in self.validators.keys():
for validator in self.validators[name]:
try:
validator(name, value).validate()
except ModelValidationException, e:
if not name in self.errors.keys():
self.errors[name] = []
self.errors[name].append(e.message)
object.__setattr__(self, name, value)
class User(Entity, Base):
validators = {'fieldname': [ValidatorBlah, ValidatorBleh]}
#mi modelo sqlalchemy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment