add machine and calibration data
This commit is contained in:
73
src/paveit/datamodels/machines.py
Executable file
73
src/paveit/datamodels/machines.py
Executable file
@@ -0,0 +1,73 @@
|
||||
import datetime
|
||||
|
||||
from mongoengine import *
|
||||
|
||||
from paveit.datamodels import (
|
||||
ComponentsServoHydraulicMachineKMD,
|
||||
ComponentsServoHydraulicMachineLVDT,
|
||||
ComponentsServoHydraulicMachineTemperatureControl,
|
||||
Labtest,
|
||||
)
|
||||
from paveit.helper import fetch_recursive, mongo_to_dict
|
||||
|
||||
from .usermanagement import Organisation
|
||||
|
||||
|
||||
# ??? Labtest: Ist das richtig hier?
|
||||
class Experiment(EmbeddedDocument):
|
||||
test = LazyReferenceField(Labtest, required=True)
|
||||
config = ListField(StringField(), required=True)
|
||||
|
||||
|
||||
class Machine(Document):
|
||||
|
||||
company = StringField(required=True)
|
||||
name = StringField(required=True)
|
||||
|
||||
department = StringField(required=False)
|
||||
room = StringField(required=False)
|
||||
|
||||
serialnumber = StringField(required=True)
|
||||
|
||||
extrainfo = StringField(required=False)
|
||||
|
||||
tests = ListField(EmbeddedDocumentField(Experiment), required=True)
|
||||
|
||||
# Standartkomponenten festlegen: wenn ortsveränderlich, dann leer lassen
|
||||
component_temperature = LazyReferenceField(ComponentsServoHydraulicMachineTemperatureControl, required=True)
|
||||
component_kmd = LazyReferenceField(ComponentsServoHydraulicMachineKMD, required=False)
|
||||
component_lvdt = ListField(LazyReferenceField(ComponentsServoHydraulicMachineLVDT), required=False)
|
||||
|
||||
date = DateTimeField(default=datetime.datetime.now,
|
||||
wtf_options={"render_kw": {
|
||||
"step": "60"
|
||||
}})
|
||||
|
||||
org_id = LazyReferenceField(Organisation,
|
||||
required=True,
|
||||
reverse_delete_rule=CASCADE)
|
||||
|
||||
tags = ListField(StringField())
|
||||
|
||||
def to_dict(self):
|
||||
# convert data to dict
|
||||
data = fetch_recursive(self)
|
||||
data = mongo_to_dict(data)
|
||||
|
||||
return data
|
||||
|
||||
meta = {
|
||||
'allow_inheritance': True,
|
||||
'index_opts': {},
|
||||
'index_background': True,
|
||||
'index_cls': False,
|
||||
'auto_create_index': True,
|
||||
'collection': 'machines',
|
||||
"db_alias": 'dblabtests',
|
||||
'indexes': [
|
||||
[("name", 1)],
|
||||
]
|
||||
}
|
||||
|
||||
class ServoHydraulicMachine(Machine):
|
||||
pass
|
||||
Reference in New Issue
Block a user