This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
devicehub-teal/ereuse_devicehub/resources/schemas.py

31 lines
826 B
Python
Raw Normal View History

2018-04-27 17:16:43 +00:00
from enum import Enum
from marshmallow import post_load
from marshmallow.fields import DateTime, List, String, URL
2018-04-27 17:16:43 +00:00
2018-06-12 14:50:05 +00:00
from ereuse_devicehub.resources import models as m
2018-04-27 17:16:43 +00:00
from teal.resource import Schema
class UnitCodes(Enum):
mbyte = '4L'
mbps = 'E20'
mhz = 'MHZ'
gbyte = 'E34'
ghz = 'A86'
bit = 'A99'
kgm = 'KGM'
m = 'MTR'
class Thing(Schema):
type = String(description='Only required when it is nested.')
url = URL(dump_only=True, description='The URL of the resource.')
same_as = List(URL(dump_only=True), dump_only=True, data_key='sameAs')
2018-06-12 14:50:05 +00:00
updated = DateTime('iso', dump_only=True, description=m.Thing.updated)
created = DateTime('iso', dump_only=True, description=m.Thing.created)
@post_load
def remove_type(self, data: dict):
data.pop('type', None)