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.
2018-04-27 17:16:43 +00:00
|
|
|
from enum import Enum
|
|
|
|
|
2018-05-11 16:58:48 +00:00
|
|
|
from marshmallow import post_load
|
|
|
|
from marshmallow.fields import DateTime, List, String, URL
|
2018-04-27 17:16:43 +00:00
|
|
|
|
2018-05-11 16:58:48 +00:00
|
|
|
from ereuse_devicehub.marshmallow import NestedOn
|
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')
|
|
|
|
updated = DateTime('iso', dump_only=True)
|
|
|
|
created = DateTime('iso', dump_only=True)
|
2018-05-11 16:58:48 +00:00
|
|
|
author = NestedOn('User', dump_only=True, exclude=('token',))
|
|
|
|
|
|
|
|
@post_load
|
|
|
|
def remove_type(self, data: dict):
|
|
|
|
data.pop('type', None)
|