Add more type hints

This commit is contained in:
Andre Basche 2023-06-28 19:02:11 +02:00
parent ad0d065b03
commit 9eb99f283b
30 changed files with 392 additions and 243 deletions

View file

@ -12,7 +12,9 @@ class HonParameter:
self._mandatory: int = attributes.get("mandatory", 0)
self._value: str | float = ""
self._group: str = group
self._triggers: Dict[str, List[Tuple[Callable, "HonRule"]]] = {}
self._triggers: Dict[
str, List[Tuple[Callable[["HonRule"], None], "HonRule"]]
] = {}
@property
def key(self) -> str:
@ -51,20 +53,22 @@ class HonParameter:
def group(self) -> str:
return self._group
def add_trigger(self, value, func, data):
def add_trigger(
self, value: str, func: Callable[["HonRule"], None], data: "HonRule"
) -> None:
if self._value == value:
func(data)
self._triggers.setdefault(value, []).append((func, data))
def check_trigger(self, value) -> None:
def check_trigger(self, value: str | float) -> None:
if str(value) in self._triggers:
for trigger in self._triggers[str(value)]:
func, args = trigger
func(args)
@property
def triggers(self):
result = {}
def triggers(self) -> Dict[str, Any]:
result: Dict[str, Any] = {}
for value, rules in self._triggers.items():
for _, rule in rules:
if rule.extras:

View file

@ -3,7 +3,7 @@ from typing import Dict, Any, List
from pyhon.parameter.base import HonParameter
def clean_value(value):
def clean_value(value: str | float) -> str:
return str(value).strip("[]").replace("|", "_").lower()
@ -24,7 +24,7 @@ class HonParameterEnum(HonParameter):
return [clean_value(value) for value in self._values]
@values.setter
def values(self, values) -> None:
def values(self, values: List[str]) -> None:
self._values = values
@property

View file

@ -36,7 +36,7 @@ class HonParameterProgram(HonParameterEnum):
return sorted(values)
@values.setter
def values(self, values) -> None:
def values(self, values: List[str]) -> None:
return
@property
@ -50,5 +50,5 @@ class HonParameterProgram(HonParameterEnum):
}
return dict(sorted(values.items()))
def set_value(self, value: str):
def set_value(self, value: str) -> None:
self._value = value

View file

@ -13,7 +13,7 @@ class HonParameterRange(HonParameter):
self._default: float = str_to_float(attributes.get("defaultValue", self.min))
self._value: float = self._default
def __repr__(self):
def __repr__(self) -> str:
return f"{self.__class__} (<{self.key}> [{self.min} - {self.max}])"
@property