schema icon indicating copy to clipboard operation
schema copied to clipboard

Inheritance from Schema

Open mbast100 opened this issue 4 years ago • 0 comments

Hello i am trying to create a class that inherits from Schema and that validates the data passed to it right away. Something like this:

class MediaInputSchema(Schema):
    def __init__(self, params):
        super(MediaInputSchema, self).__init__({
            'key': And(str, len),
            'name': And(str, len),
            'createdOn': And(str, len),
            'url': And(str, len),
            'type': Or("seasonal", "regular", "commemoration", "monthly-schedule"),
            'file_type': Or("image", "pdf", "doc")
        },error=None, ignore_extra_keys=False, name=None, description=None, as_reference=False)
        self.params = params
        self.validate(params)

I get the following error for schema validation: image

Instead of doing this:

media_input_schema = Schema(
    {
        'key': And(str, len),
        'name': And(str, len),
        'createdOn': And(str, len),
        'url': And(str, len),
        'type': Or("seasonal", "regular", "commemoration", "monthly-schedule"),
        'file_type': Or("image", "pdf", "doc")
    })


class MediaInputSchema():
    def __init__(self, data):
        self.data = data
        self.schema = media_input_schema
        self.valid = media_input_schema.validate(data)

Any idea?

mbast100 avatar Nov 29 '20 18:11 mbast100