diff --git a/src/components/tecna_marposs_provaset_t3.py b/src/components/tecna_marposs_provaset_t3.py index dbc3fa4..ce2de1f 100644 --- a/src/components/tecna_marposs_provaset_t3.py +++ b/src/components/tecna_marposs_provaset_t3.py @@ -205,13 +205,13 @@ class TecnaMarpossProvasetT3(ModbusComponent): # READ INFO info = {r: self.read(r) for r in [ "Real time test pressure output", - #"Real time differential pressure output", "Real time pressure line regulator", - "Active alarm flags", + #"Real time differential pressure output", + #"Active alarm flags", #"Active test program number", "Running test: active phase", "Running test: test type", - "Running test: measured leak" + "Running test: measured leak", #"Running test: sequence index", #"Digital inputs status (mask)", # "Digital outputs status (mask)", @@ -227,7 +227,8 @@ class TecnaMarpossProvasetT3(ModbusComponent): if info["Running test: active phase"] == "FINE TEST": # "END TEST, WAITING THE START OF A NEW TEST": info.update(self.get_test_results()) for round_me in ["measured leak"]: - info.update({round_me:float(f"{info[round_me]:.2f}")}) + if round_me in info.keys(): + info.update({round_me:float(f"{info[round_me]:.2f}")}) self.log.debug(str(info)) super()._get([info]) diff --git a/src/lib/db/models/archive.py b/src/lib/db/models/archive.py index 32e1e7d..bd1be74 100644 --- a/src/lib/db/models/archive.py +++ b/src/lib/db/models/archive.py @@ -10,7 +10,7 @@ from .users import Users class Archive(BaseModel): id = AutoField(primary_key=True, unique=True, null=False) - time = DateTimeField(unique=True, null=False, default=datetime.now) + time = DateTimeField(unique=True, null=False, default=datetime.now()) user = ForeignKeyField(Users, Users.username, null=False) result = BooleanField(null=False) overridden = BooleanField(null=False) @@ -22,7 +22,11 @@ class Archive(BaseModel): @classmethod @db.atomic() def archive(cls, test_data, result, overridden): + time=datetime.now() + test_data["time"]=time.strftime("%Y/%m/%dT %H:%M:%S") + test_data["user"]=Users.get_session().username return cls.create( + time=time, user=Users.get_session().user, result=result, overridden=overridden, diff --git a/src/ui/test/test.py b/src/ui/test/test.py index e705b39..9b7f0f7 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -473,6 +473,14 @@ class Test(Widget): #remove useless info self.data.get("recipe",{}).get("spec",{}).pop("steps",None) self.data.get("recipe",{}).get("spec",{}).pop("available_steps",None) + for leak in ["leak_1","leak_2"]: + if leak in self.data.keys(): + self.data[leak]["results"]={k:self.data[leak]["results"]["tecna_t3"][k] for k in ["Running test: filling pressure", + "Running test: measured leak", + "Running test: pressure at the end of settling", + "Running test: result"] + + } if "vision" in self.data: vision_test_1 = self.data.get("vision", {}).get("0", {}) out_paths = self.components["vision_saver"].save( diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py index 69b9c05..33f7e4f 100644 --- a/src/ui/test_leak/test_leak.py +++ b/src/ui/test_leak/test_leak.py @@ -137,7 +137,7 @@ class Test_Leak(Test_Test): results={"ok":ok} results.update(data) - super().get({ + super().get([{ "time": data.get("time", None), "results": results #"results": { @@ -145,12 +145,12 @@ class Test_Leak(Test_Test): #"result": result, #"data": data["tecna_t3"], #}, - }, override=override, fail=ok is False) + }], override=override, fail=ok is False) def visualize(self, data=None): if data is None: data = {} - d = data.get("results", {}).get("data", {}) + d = data.get("results", {}).get("tecna_t3", {}) for k, l in { "Running test: active phase": self.test_phase_l, "Real time test pressure output": self.circuit_pressure_l,