diff options
| -rwxr-xr-x | example.py | 1 | ||||
| -rw-r--r-- | ricky/param/enum.py | 6 | ||||
| -rw-r--r-- | ricky/params/__init__.py | 6 |
3 files changed, 10 insertions, 3 deletions
@@ -17,3 +17,4 @@ for params_class in ricky.params.Params.__subclasses__(): print type(params_instance) params_instance.from_dict(data['params']) print params_instance.execute() + print params_instance.as_normalized() diff --git a/ricky/param/enum.py b/ricky/param/enum.py index 137c58e..09a4cc3 100644 --- a/ricky/param/enum.py +++ b/ricky/param/enum.py @@ -41,11 +41,11 @@ class Enum(Param): return my_dict def from_normalized(self, value): - maximum = len(self._options - 1) + maximum = len(self._options) - 1 idx_val = int(round(maximum * value, 0)) self.value = self._options[idx_val] def as_normalized(self): - maximum = len(self._options - 1) - value = int(self.as_hex(), 16) + maximum = len(self._options) - 1 + value = self._options.index(self.value) return decimal.Decimal(value)/decimal.Decimal(maximum) diff --git a/ricky/params/__init__.py b/ricky/params/__init__.py index cb927e7..0cb4921 100644 --- a/ricky/params/__init__.py +++ b/ricky/params/__init__.py @@ -101,6 +101,12 @@ class Params(object): result[param.name] = param.value return result + def as_normalized(self): + return tuple([ + {'name': param.name, 'normalized': param.as_normalized()} + for param in self._params + ]) + def from_dict(self, params_dict): """set param values manually from a dictionary""" for param in self._params: |
