From f8264bcb55d6f8e8ba3a0df1011df5678c542fdc Mon Sep 17 00:00:00 2001 From: pepperpepperpepper Date: Fri, 4 Dec 2015 22:35:04 -0800 Subject: working --- ricky/param/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'ricky/param/__init__.py') 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 -- cgit v1.2.3-70-g09d2