fork download
  1. class TypeBaseMeta(type):
  2. def __new__(cls, name, bases, namespace, **kwds):
  3. for base in bases:
  4. namespace['__validators__'] = base.__validators__ + namespace['__validators__']
  5.  
  6. return type.__new__(cls, name, bases, namespace, **kwds)
  7.  
  8. class TypeBase(metaclass=TypeBaseMeta):
  9. __validators__ = ('presence')
  10.  
  11. def __init__(self, *args, **kwargs):
  12. pass
  13.  
  14. def validate_presence(self, flag):
  15. if self.data:
  16. return True
  17.  
  18. class String(TypeBase):
  19. __validators__ = ('length')
  20.  
  21. def validate_length(self, range):
  22. if len(self.data) in range(*range):
  23. return True
Success #stdin #stdout 0.11s 10104KB
stdin
Standard input is empty
stdout
Standard output is empty