Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. import schema
  2. import attr
  3.  
  4.  
  5. _UNSET = object()
  6.  
  7.  
  8. @attr.s
  9. class AttrSchema(object):
  10. schema = attr.ib(convert=schema.Schema)
  11. default = attr.ib(_UNSET)
  12.  
  13. def __call__(self, value):
  14. if value == self.default:
  15. return value
  16. return self.schema.validate(value)
  17.  
  18.  
  19. def schema_attrib(scheme, default=_UNSET):
  20. if default is _UNSET:
  21. return attr.ib(convert=AttrSchema(scheme))
  22. return attr.ib(convert=AttrSchema(scheme, default), default=default)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement