pyhOn/pyhon/appliances/base.py

26 lines
881 B
Python
Raw Normal View History

2023-06-28 17:02:11 +00:00
from typing import Dict, Any, TYPE_CHECKING
from pyhon.parameter.program import HonParameterProgram
if TYPE_CHECKING:
from pyhon.appliance import HonAppliance
2023-05-29 16:58:50 +00:00
class ApplianceBase:
2023-06-28 17:02:11 +00:00
def __init__(self, appliance: "HonAppliance"):
2023-05-29 16:58:50 +00:00
self.parent = appliance
2023-06-28 17:02:11 +00:00
def attributes(self, data: Dict[str, Any]) -> Dict[str, Any]:
2023-05-29 16:58:50 +00:00
program_name = "No Program"
2023-06-12 22:12:29 +00:00
if program := int(str(data.get("parameters", {}).get("prCode", "0"))):
2023-06-08 17:50:56 +00:00
if start_cmd := self.parent.settings.get("startProgram.program"):
2023-06-28 17:02:11 +00:00
if isinstance(start_cmd, HonParameterProgram) and (
ids := start_cmd.ids
):
2023-06-08 17:50:56 +00:00
program_name = ids.get(program, program_name)
2023-05-29 16:58:50 +00:00
data["programName"] = program_name
2023-06-08 17:50:56 +00:00
return data
2023-05-29 16:58:50 +00:00
2023-06-28 17:02:11 +00:00
def settings(self, settings: Dict[str, Any]) -> Dict[str, Any]:
2023-05-29 16:58:50 +00:00
return settings