summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xexample.py1
-rw-r--r--ricky/param/enum.py6
-rw-r--r--ricky/params/__init__.py6
3 files changed, 10 insertions, 3 deletions
diff --git a/example.py b/example.py
index 8139ceb..e322718 100755
--- a/example.py
+++ b/example.py
@@ -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: