#!/usr/bin/env python3 from marshmallow import fields, Schema from marshmallow.utils import get_value, missing from marshmallow.validate import OneOf import uuid class InfoSchema(Schema): id = fields.UUID(default=uuid.uuid4, missing=uuid.uuid4) type = fields.String(validate=OneOf(['svm', 'svm_rbf', 'knn', 'extratrees', 'gradientboosting', 'randomforest'])) @classmethod # This threats none values as missing def get_attribute(cls, attr, obj, default): return get_value(attr, obj, default=default) or missing