mirror of
https://github.com/Andre0512/pyhOn.git
synced 2025-05-14 15:14:28 -04:00
Expose settings
This commit is contained in:
parent
984d1b91b7
commit
3efa2fd3f5
5 changed files with 105 additions and 15 deletions
|
@ -6,6 +6,10 @@ class HonParameter:
|
|||
self._mandatory = attributes.get("mandatory")
|
||||
self._value = ""
|
||||
|
||||
@property
|
||||
def key(self):
|
||||
return self._key
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._value if self._value is not None else "0"
|
||||
|
@ -16,20 +20,65 @@ class HonParameterFixed(HonParameter):
|
|||
super().__init__(key, attributes)
|
||||
self._value = attributes["fixedValue"]
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._value
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
raise ValueError("fixed value")
|
||||
|
||||
|
||||
class HonParameterRange(HonParameter):
|
||||
def __init__(self, key, attributes):
|
||||
super().__init__(key, attributes)
|
||||
self._value = attributes.get("defaultValue")
|
||||
self._default = attributes.get("defaultValue")
|
||||
self._min = attributes["minimumValue"]
|
||||
self._max = attributes["maximumValue"]
|
||||
self._step = attributes["incrementValue"]
|
||||
self._min = int(attributes["minimumValue"])
|
||||
self._max = int(attributes["maximumValue"])
|
||||
self._step = int(attributes["incrementValue"])
|
||||
self._default = int(attributes.get("defaultValue", self._min))
|
||||
self._value = self._default
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.key} [{self._min} - {self._max}]"
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._value if self._value is not None else self._min
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
if self._min < value < self._max and not value % self._step:
|
||||
self._value = self._value
|
||||
raise ValueError(f"min {self._min} max {self._max} step {self._step}")
|
||||
|
||||
|
||||
class HonParameterEnum(HonParameter):
|
||||
def __init__(self, key, attributes):
|
||||
super().__init__(key, attributes)
|
||||
self._value = attributes.get("defaultValue", "0")
|
||||
self._default = attributes["defaultValue"]
|
||||
self._values = attributes["enumValues"]
|
||||
self._default = attributes.get("defaultValue")
|
||||
self._values = attributes.get("enumValues")
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.key} {self._values}"
|
||||
|
||||
@property
|
||||
def values(self):
|
||||
return self._values
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._value
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
if value in self._values:
|
||||
self._value = self._value
|
||||
raise ValueError(f"values {self._value}")
|
||||
|
||||
|
||||
class HonParameterProgram(HonParameterEnum):
|
||||
def __init__(self, key, attributes):
|
||||
super().__init__(key, attributes)
|
||||
self._value = attributes["current"]
|
||||
self._values = attributes["values"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue