summaryrefslogtreecommitdiff
path: root/ricky/param/param.py
diff options
context:
space:
mode:
Diffstat (limited to 'ricky/param/param.py')
-rw-r--r--ricky/param/param.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/ricky/param/param.py b/ricky/param/param.py
new file mode 100644
index 0000000..05388f8
--- /dev/null
+++ b/ricky/param/param.py
@@ -0,0 +1,38 @@
+import pprint
+
+class Param(object):
+# def __init__(self, **kwargs):
+ def __init__(self, required=0, set_by_user=0, value=None, name=None, **kwargs):
+ self._value_default = None
+ self.name = name
+ self.required = required
+ self.is_ready = 0
+ self.value = value
+ self.set_by_user = set_by_user
+ def __str__(self):
+ return pprint.pformat(vars(self))
+
+ def get_value(self):
+ if self.set_by_user == 1:
+ return self._value
+ return self._value_default
+ def set_value(self, value):
+ self._value = value
+ if not self._value is None:
+ self.is_ready = 1
+ self.set_by_user = 1
+ value = property(get_value, set_value)
+
+ def default(self, value):
+ self._value_default = value
+
+ @property
+ def is_ready(self):
+ return self._is_ready or not self.required
+ @is_ready.setter
+ def is_ready(self, n):
+ self._is_ready = n
+
+
+ def randomize(self):
+ pass