diff options
Diffstat (limited to 'ricky/param/__init__.py')
| -rw-r--r-- | ricky/param/__init__.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ricky/param/__init__.py b/ricky/param/__init__.py index e458963..6573c86 100644 --- a/ricky/param/__init__.py +++ b/ricky/param/__init__.py @@ -12,17 +12,19 @@ class Param(object): self._value_default = None self.name = name self.required = required + self.set_by_user = set_by_user + self._value_default = kwargs.get("default") or None if self.value is not None and \ kwargs.get("value") is not None: self._value = kwargs.get("value") else: - self._value = None + self._value = self._value_default or None # maybe FIXME if not hasattr(self, "set_by_user"): self.set_by_user = set_by_user def __str__(self): - return pprint.pformat(vars(self)) + return pprint.pformat(vars(self)) # FIXME needs to be more explicit def value_get(self): if self.set_by_user == 1: @@ -34,8 +36,13 @@ class Param(object): value = property(value_get, value_set) - def default(self, value): - self._value_default = value + def default_set(self, value): + raise ValueError("Default must be set at instantiation") + + def default_get(self, value): + return self._value_default + + default = property(default_set, default_get) def randomize(self): pass |
