Пример #1
0
class FilterObjectSchema(BaseSchema):
    """
    A single filter object, e.g.
    {
        'type': 'daterange',
        'value': [],
        'cmp': 'in'
    }
    """

    type = f.String(validate=validate.OneOf(
        ["date", "daterange", "timedelta", "reportmeta", "samplemeta"]))
    value = f.Raw()
    key = f.Raw()
    cmp = f.String(validate=validate.OneOf(
        ["eq", "ne", "le", "lt", "ge", "gt", "in", "not in"]))
Пример #2
0
class PostsSchema(Schema):

    not_blank = validate.Length(min=1, error='Field cannot be blank')
    # add validate=not_blank in required fields
    id = fields.Integer(dump_only=True)

    author = fields.String(validate=not_blank)
    title = fields.String(validate=not_blank)
    slug = fields.String(validate=not_blank)
    content = fields.String(validate=not_blank)
    date = fields.String(dump_only=True)
    modified = fields.String(dump_only=True)
    excerpt = fields.String(validate=not_blank)
    status = fields.String(validate=not_blank)
    type = fields.String(validate=not_blank)
    path = fields.String()
    parent = fields.Integer(required=True)
    #terms  = fields.Nested(TermsSchema, many=True)
    #term_ids = fields.List(fields.Integer())
    term_ids = fields.Raw()

    # self links
    def get_top_level_links(self, data, many):
        if many:
            self_link = "/posts/"
        else:
            self_link = "/posts/{}".format(data['id'])
        return {'self': self_link}

    class Meta:
        type_ = 'posts'
Пример #3
0
class FilterObjectSchema(BaseSchema):
    """
    A single filter object, e.g.
    {
        'type': 'daterange',
        'value': [],
        'cmp': 'in'
    }
    """

    type = f.String(validate=validate.OneOf(
        ['date', 'daterange', 'timedelta', 'reportmeta', 'samplemeta']))
    value = f.Raw()
    key = f.Raw()
    cmp = f.String(validate=validate.OneOf(
        ['eq', 'ne', 'le', 'lt', 'ge', 'gt', 'in', 'not in']))
Пример #4
0
class PlotSchema(JsonApiSchema):
    """
    Data that can be used to generate a plot.
    """
    class Meta:
        type_ = "plots"
        unknown = INCLUDE

    id = f.String(dump_only=True)
    type = f.String()
    x = f.List(f.Raw())
    y = f.List(f.Raw())
    text = f.List(f.Raw())
    hoverinfo = f.Str()
    line = f.Dict()
    mode = f.String()
    name = f.String()
    fill = f.String()
    fillcolor = f.String()
    showlegend = f.Bool()
Пример #5
0
class SubstanceSearchResultSchema(Schema):

    id = fields.Str(required=True)
    identifiers = fields.Raw(required=True)
    # the matches will be the fields in which the identifier was found
    matches = fields.Function(lambda obj: obj.get_matches(
        getInchikey(request.args.get("identifier"))))
    score = fields.Function(lambda obj: obj.score_result(
        getInchikey(request.args.get("identifier"))))

    class Meta:
        type_ = "substance_search_results"
        self_view_many = "resolved_substance_list"
        model = Substance
        sqla_session = db.session
        load_instance = True
Пример #6
0
class StudentsSchema(Schema):

    not_blank = validate.Length(min=1, error='Field cannot be blank')
    id = fields.Integer(dump_only=True)

    studentname = fields.String(validate=not_blank)
    degree = fields.String(validate=not_blank)
    major = fields.String(validate=not_blank)
    courseids = fields.Raw()
    def get_top_level_links(self, data, many):
        if many:
            self_link = "/students/"
        else:
            self_link = "/students/{}".format(data['id'])
        return {'self': self_link}

    class Meta:
        type_ = 'students'
Пример #7
0
class RecordsRowSchema(PlainSchema):
    key = fields.String(required=True)
    value = fields.Raw(required=True)
Пример #8
0
class GeoJSONSchema(Schema):
    type = fields.Str()
    coordinates = fields.Raw()