Add Camera, LOTS project temporal devices
This commit is contained in:
parent
c92d6b3282
commit
f40f7187de
|
@ -166,6 +166,11 @@ class BatteryDef(ComponentDef):
|
||||||
SCHEMA = schemas.Battery
|
SCHEMA = schemas.Battery
|
||||||
|
|
||||||
|
|
||||||
|
class CameraDef(ComponentDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Camera
|
||||||
|
|
||||||
|
|
||||||
class ComputerAccessoryDef(DeviceDef):
|
class ComputerAccessoryDef(DeviceDef):
|
||||||
VIEW = None
|
VIEW = None
|
||||||
SCHEMA = schemas.ComputerAccessory
|
SCHEMA = schemas.ComputerAccessory
|
||||||
|
@ -297,6 +302,36 @@ class Mixer(CookingDef):
|
||||||
SCHEMA = schemas.Mixer
|
SCHEMA = schemas.Mixer
|
||||||
|
|
||||||
|
|
||||||
|
class DrillDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Drill
|
||||||
|
|
||||||
|
|
||||||
|
class PackOfScrewdriversDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.PackOfScrewdrivers
|
||||||
|
|
||||||
|
|
||||||
|
class DehumidifierDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Dehumidifier
|
||||||
|
|
||||||
|
|
||||||
|
class StairsDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Stairs
|
||||||
|
|
||||||
|
|
||||||
|
class BikeDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Bike
|
||||||
|
|
||||||
|
|
||||||
|
class RacketDef(DeviceDef):
|
||||||
|
VIEW = None
|
||||||
|
SCHEMA = schemas.Racket
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerDef(Resource):
|
class ManufacturerDef(Resource):
|
||||||
VIEW = ManufacturerView
|
VIEW = ManufacturerView
|
||||||
SCHEMA = schemas.Manufacturer
|
SCHEMA = schemas.Manufacturer
|
||||||
|
|
|
@ -24,7 +24,7 @@ from teal.marshmallow import ValidationError
|
||||||
from teal.resource import url_for_resource
|
from teal.resource import url_for_resource
|
||||||
|
|
||||||
from ereuse_devicehub.db import db
|
from ereuse_devicehub.db import db
|
||||||
from ereuse_devicehub.resources.enums import BatteryTechnology, ComputerChassis, \
|
from ereuse_devicehub.resources.enums import BatteryTechnology, CameraFacing, ComputerChassis, \
|
||||||
DataStorageInterface, DisplayTech, PrinterTechnology, RamFormat, RamInterface, Severity
|
DataStorageInterface, DisplayTech, PrinterTechnology, RamFormat, RamInterface, Severity
|
||||||
from ereuse_devicehub.resources.models import STR_SM_SIZE, Thing
|
from ereuse_devicehub.resources.models import STR_SM_SIZE, Thing
|
||||||
|
|
||||||
|
@ -686,6 +686,18 @@ class Battery(JoinedComponentTableMixin, Component):
|
||||||
return real_size / self.size if real_size and self.size else None
|
return real_size / self.size if real_size and self.size else None
|
||||||
|
|
||||||
|
|
||||||
|
class Camera(Component):
|
||||||
|
"""The camera of a device."""
|
||||||
|
focal_length = db.Column(db.SmallInteger)
|
||||||
|
video_height = db.Column(db.SmallInteger)
|
||||||
|
video_width = db.Column(db.Integer)
|
||||||
|
horizontal_view_angle = db.Column(db.Integer)
|
||||||
|
facing = db.Column(db.Enum(CameraFacing))
|
||||||
|
vertical_view_angle = db.Column(db.SmallInteger)
|
||||||
|
video_stabilization = db.Column(db.Boolean)
|
||||||
|
flash = db.Column(db.Boolean)
|
||||||
|
|
||||||
|
|
||||||
class ComputerAccessory(Device):
|
class ComputerAccessory(Device):
|
||||||
"""Computer peripherals and similar accessories."""
|
"""Computer peripherals and similar accessories."""
|
||||||
id = Column(BigInteger, ForeignKey(Device.id), primary_key=True)
|
id = Column(BigInteger, ForeignKey(Device.id), primary_key=True)
|
||||||
|
@ -775,6 +787,32 @@ class Mixer(Cooking):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Drill(Device):
|
||||||
|
max_drill_bit_size = db.Column(db.SmallInteger)
|
||||||
|
|
||||||
|
|
||||||
|
class PackOfScrewdrivers(Device):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Dehumidifier(Device):
|
||||||
|
size = db.Column(db.SmallInteger)
|
||||||
|
size.comment = """The capacity in Liters."""
|
||||||
|
|
||||||
|
|
||||||
|
class Stairs(Device):
|
||||||
|
max_allowed_weight = db.Column(db.Integer)
|
||||||
|
|
||||||
|
|
||||||
|
class Bike(Device):
|
||||||
|
wheel_size = db.Column(db.SmallInteger)
|
||||||
|
gears = db.Column(db.SmallInteger)
|
||||||
|
|
||||||
|
|
||||||
|
class Racket(Device):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Manufacturer(db.Model):
|
class Manufacturer(db.Model):
|
||||||
"""The normalized information about a manufacturer.
|
"""The normalized information about a manufacturer.
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ from teal.enums import Layouts
|
||||||
from ereuse_devicehub.resources.action import models as e
|
from ereuse_devicehub.resources.action import models as e
|
||||||
from ereuse_devicehub.resources.agent.models import Agent
|
from ereuse_devicehub.resources.agent.models import Agent
|
||||||
from ereuse_devicehub.resources.device import states
|
from ereuse_devicehub.resources.device import states
|
||||||
from ereuse_devicehub.resources.enums import BatteryTechnology, ComputerChassis, \
|
from ereuse_devicehub.resources.enums import BatteryTechnology, CameraFacing, ComputerChassis, \
|
||||||
DataStorageInterface, DisplayTech, PrinterTechnology, RamFormat, RamInterface
|
DataStorageInterface, DisplayTech, PrinterTechnology, RamFormat, RamInterface
|
||||||
from ereuse_devicehub.resources.lot.models import Lot
|
from ereuse_devicehub.resources.lot.models import Lot
|
||||||
from ereuse_devicehub.resources.models import Thing
|
from ereuse_devicehub.resources.models import Thing
|
||||||
|
@ -356,6 +356,28 @@ class Battery(Component):
|
||||||
self.size = ... # type: bool
|
self.size = ... # type: bool
|
||||||
|
|
||||||
|
|
||||||
|
class Camera(Component):
|
||||||
|
focal_length = ... # type: Column
|
||||||
|
video_height = ... # type: Column
|
||||||
|
video_width = ... # type: Column
|
||||||
|
horizontal_view_angle = ... # type: Column
|
||||||
|
facing = ... # type: Column
|
||||||
|
vertical_view_angle = ... # type: Column
|
||||||
|
video_stabilization = ... # type: Column
|
||||||
|
flash = ... # type: Column
|
||||||
|
|
||||||
|
def __init__(self, **kwargs) -> None:
|
||||||
|
super().__init__(**kwargs)
|
||||||
|
focal_length = ... # type: Optional[int]
|
||||||
|
video_height = ... # type: Optional[int]
|
||||||
|
video_width = ... # type: Optional[int]
|
||||||
|
horizontal_view_angle = ... # type: Optional[int]
|
||||||
|
facing = ... # type: Optional[CameraFacing]
|
||||||
|
vertical_view_angle = ... # type: Optional[int]
|
||||||
|
video_stabilization = ... # type: Optional[bool]
|
||||||
|
flash = ... # type: Optional[bool]
|
||||||
|
|
||||||
|
|
||||||
class ComputerAccessory(Device):
|
class ComputerAccessory(Device):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -307,6 +307,19 @@ class Battery(Component):
|
||||||
size = Integer(required=True, description=m.Battery.size.comment)
|
size = Integer(required=True, description=m.Battery.size.comment)
|
||||||
|
|
||||||
|
|
||||||
|
class Camera(Component):
|
||||||
|
__doc__ = m.Camera
|
||||||
|
|
||||||
|
focal_length = Integer(data_key='focalLength')
|
||||||
|
video_height = Integer(data_key='videoHeight')
|
||||||
|
video_width = Integer(data_key='videoWidth')
|
||||||
|
horizontal_view_angle = Integer(data_key='horizontalViewAngle')
|
||||||
|
facing = Integer()
|
||||||
|
vertical_view_angle = Integer(data_key='verticalViewAngle')
|
||||||
|
video_stabilization = Integer(data_key='videoStabilization')
|
||||||
|
flash = Integer()
|
||||||
|
|
||||||
|
|
||||||
class Manufacturer(Schema):
|
class Manufacturer(Schema):
|
||||||
__doc__ = m.Manufacturer.__doc__
|
__doc__ = m.Manufacturer.__doc__
|
||||||
|
|
||||||
|
@ -398,3 +411,28 @@ class Cooking(Device):
|
||||||
|
|
||||||
class Mixer(Cooking):
|
class Mixer(Cooking):
|
||||||
__doc__ = m.Mixer.__doc__
|
__doc__ = m.Mixer.__doc__
|
||||||
|
|
||||||
|
|
||||||
|
class Drill(Device):
|
||||||
|
max_drill_bit_size = Integer(data_key='maxDrillBitSize')
|
||||||
|
|
||||||
|
|
||||||
|
class PackOfScrewdrivers(Device):
|
||||||
|
size = Integer()
|
||||||
|
|
||||||
|
|
||||||
|
class Dehumidifier(Device):
|
||||||
|
size = Integer()
|
||||||
|
|
||||||
|
|
||||||
|
class Stairs(Device):
|
||||||
|
max_allowed_weight = Integer(data_key='maxAllowedWeight')
|
||||||
|
|
||||||
|
|
||||||
|
class Bike(Device):
|
||||||
|
wheel_size = Integer(data_key='wheelSize')
|
||||||
|
gears = Integer()
|
||||||
|
|
||||||
|
|
||||||
|
class Racket(Device):
|
||||||
|
pass
|
||||||
|
|
|
@ -249,6 +249,12 @@ class PrinterTechnology(Enum):
|
||||||
Thermal = 'Thermal'
|
Thermal = 'Thermal'
|
||||||
|
|
||||||
|
|
||||||
|
@unique
|
||||||
|
class CameraFacing(Enum):
|
||||||
|
Front = 'Front'
|
||||||
|
Back = 'Back'
|
||||||
|
|
||||||
|
|
||||||
@unique
|
@unique
|
||||||
class BatteryHealth(Enum):
|
class BatteryHealth(Enum):
|
||||||
"""The battery health status as in Android."""
|
"""The battery health status as in Android."""
|
||||||
|
|
Reference in New Issue