st-ten-1/src/ui/test_connector/test_connector.py

83 lines
2.9 KiB
Python
Raw Normal View History

2022-09-13 11:01:00 +00:00
import sys
2022-08-24 10:59:16 +00:00
from lib.helpers import timing
2022-09-13 11:01:00 +00:00
from PyQt5.QtCore import QTimer
2022-08-24 10:59:16 +00:00
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QShortcut
from ui.test_test import Test_Test
class Test_Connector(Test_Test):
2022-09-06 13:15:01 +00:00
def __init__(self, components=None, recipe=None, step=None, run_once=False, enable_override=False):
super().__init__(components=components, recipe=recipe, step=step, run_once=run_once, enable_override=enable_override)
2022-08-24 10:59:16 +00:00
QShortcut(QKeySequence("Return"), self).activated.connect(self.get)
QShortcut(QKeySequence("Enter"), self).activated.connect(self.get)
self.connector_le.setFocus()
def start(self, recipe=None, step=None):
super().start(recipe=recipe, step=step)
if self.run_once is True and self.done is True and self.done_ok is True:
return
self.visualize()
2022-09-13 10:39:09 +00:00
expected = str(self.step.spec.get("connector", "-"))
2022-09-15 13:25:22 +00:00
self.parent_assembly_widget().set_text(f"COLLEGARE IL CONNETTORE {expected} AL MULTIMETRO E LEGGERE IL SUO BARCODE")
2022-09-13 10:39:09 +00:00
self.expected_l.setText(expected)
2022-08-24 10:59:16 +00:00
self.connector_le.setPalette(self.status_palettes[None])
self.connector_le.setText("")
self.connector_le.setFocus()
2022-09-13 10:39:09 +00:00
# TESTING
if "--test-connector" in sys.argv or "--test" in sys.argv:
self.connector_le.setText(expected)
self.test_timer = QTimer()
self.test_timer.setSingleShot(True)
self.test_timer.timeout.connect(self.get)
self.test_timer.start(500)
# /TESTING
2022-08-24 10:59:16 +00:00
# def stop(self):
# super().stop()
# def reset(self):
# super().reset()
def get(self, data=None, override=False):
if self.done: # avoid proccessing if completed
return
if data is None:
data = self.connector_le.text()
if not len(data):
data = None
if data is None:
super().get(None, override=override)
return
2022-09-15 13:25:22 +00:00
connector_ok = data.upper() == self.step.spec.get("connector", None)
2022-08-24 10:59:16 +00:00
if connector_ok:
self.connector_le.setPalette(self.status_palettes[True])
else:
self.connector_le.setPalette(self.status_palettes[False])
self.connector_le.setText("")
self.connector_le.setFocus()
if connector_ok is True:
result = data
ok = True
else:
result = None
ok = None
super().get([{
"time": timing(),
"results": {
"ok": ok,
"result": result,
"data": data,
},
}], override=override, fail=ok is False)
def visualize(self, data=None):
if data is None:
data = {}
self.connector_l.setText(str(data.get("results", {}).get("data", "-")))
super().visualize(data)
def check_serial_barcode(self, barcode=None):
return barcode is not None and len(barcode)