26 lines
		
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Dict, Any, TYPE_CHECKING
 | |
| 
 | |
| from pyhon.parameter.program import HonParameterProgram
 | |
| 
 | |
| if TYPE_CHECKING:
 | |
|     from pyhon.appliance import HonAppliance
 | |
| 
 | |
| 
 | |
| class ApplianceBase:
 | |
|     def __init__(self, appliance: "HonAppliance"):
 | |
|         self.parent = appliance
 | |
| 
 | |
|     def attributes(self, data: Dict[str, Any]) -> Dict[str, Any]:
 | |
|         program_name = "No Program"
 | |
|         if program := int(str(data.get("parameters", {}).get("prCode", "0"))):
 | |
|             if start_cmd := self.parent.settings.get("startProgram.program"):
 | |
|                 if isinstance(start_cmd, HonParameterProgram) and (
 | |
|                     ids := start_cmd.ids
 | |
|                 ):
 | |
|                     program_name = ids.get(program, program_name)
 | |
|         data["programName"] = program_name
 | |
|         return data
 | |
| 
 | |
|     def settings(self, settings: Dict[str, Any]) -> Dict[str, Any]:
 | |
|         return settings
 |