Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import schema
- import attr
- _UNSET = object()
- @attr.s
- class AttrSchema(object):
- schema = attr.ib(convert=schema.Schema)
- default = attr.ib(_UNSET)
- def __call__(self, value):
- if value == self.default:
- return value
- return self.schema.validate(value)
- def schema_attrib(scheme, default=_UNSET):
- if default is _UNSET:
- return attr.ib(convert=AttrSchema(scheme))
- return attr.ib(convert=AttrSchema(scheme, default), default=default)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement