Esempio n. 1
0
class ErrorSchema(colander.MappingSchema):
    """Payload schema for Kinto errors."""

    code = colander.SchemaNode(colander.Integer())
    errno = colander.SchemaNode(colander.Integer())
    error = colander.SchemaNode(colander.String())
    message = colander.SchemaNode(colander.String(), missing=colander.drop)
    info = colander.SchemaNode(colander.String(), missing=colander.drop)
    details = colander.SchemaNode(Any(), missing=colander.drop)
Esempio n. 2
0
class JsonPatchOperationSchema(colander.MappingSchema):
    """Single JSON Patch Operation."""
    def op_validator():
        op_values = ["test", "add", "remove", "replace", "move", "copy"]
        return colander.OneOf(op_values)

    def path_validator():
        return colander.Regex("(/\\w*)+")

    op = colander.SchemaNode(colander.String(), validator=op_validator())
    path = colander.SchemaNode(colander.String(), validator=path_validator())
    from_ = colander.SchemaNode(colander.String(),
                                name="from",
                                validator=path_validator(),
                                missing=colander.drop)
    value = colander.SchemaNode(Any(), missing=colander.drop)

    @staticmethod
    def schema_type():
        return colander.Mapping(unknown="raise")
Esempio n. 3
0
class JsonPatchOperationSchema(colander.MappingSchema):
    """Single JSON Patch Operation."""
    def op_validator():
        op_values = ['test', 'add', 'remove', 'replace', 'move', 'copy']
        return colander.OneOf(op_values)

    def path_validator():
        return colander.Regex('(/\w*)+')

    op = colander.SchemaNode(colander.String(), validator=op_validator())
    path = colander.SchemaNode(colander.String(), validator=path_validator())
    from_ = colander.SchemaNode(colander.String(),
                                name='from',
                                validator=path_validator(),
                                missing=colander.drop)
    value = colander.SchemaNode(Any(), missing=colander.drop)

    @staticmethod
    def schema_type():
        return colander.Mapping(unknown='raise')