diff options
| author | yo mama <pepper@scannerjammer.com> | 2015-10-09 00:52:22 -0700 |
|---|---|---|
| committer | yo mama <pepper@scannerjammer.com> | 2015-10-09 00:52:22 -0700 |
| commit | c0abc6cae41f7fd9dc4f9c81a79bce18562277fd (patch) | |
| tree | 30a1d02a9c02b9be458f2abd4e435317766aead9 | |
| parent | ecd32cd78e8e9026cee409d21c9f29a0d8dff36f (diff) | |
better
| -rwxr-xr-x | example.py | 19 | ||||
| -rw-r--r-- | ricky/param/multiselect.py | 35 | ||||
| -rw-r--r-- | ricky/param/numberrange.py | 9 | ||||
| -rw-r--r-- | ricky/param/param.py | 46 |
4 files changed, 52 insertions, 57 deletions
@@ -9,18 +9,13 @@ import time #ok we are 32 and we need a from_dict method #ok we are 32 and we need a from_dict method -test_d = {'username': 'RICHARD_GIOVANNI', 'bevel': 'flatinner', 'saturation': '', 'rotate': 34, 'percentbeveled': 96, 'brightness': 79, 'stripenumber': 2, 'filetype': 'png', 'blurriness': 180, 'flip': '', 'height': 594, 'color1': 'rgb(191,125,24)', 'width': 536, 'color2': 'rgb(186,78,94)', 'gradienttype': 'mirrored', 'stripeintensity': 2515, 'tilt': 58, 'flop': '', 'halftone': 'etchedtransition', 'hue': 146} -#for i in xrange(0,100): -api = ImGradient() -params = api.params_init() -params.from_dict(test_d) -#params.randomize() -print params.as_dict() -req = params.execute() -print req -#if not (i % 5): -# time.sleep(2) - +for i in xrange(0,100): + api = ImGradient() + params = api.params_init() + params.randomize() + print params.as_dict() + req = params.execute() + print req #api = ImPattern() #params = api.params_init() diff --git a/ricky/param/multiselect.py b/ricky/param/multiselect.py index ac5c9e7..68df161 100644 --- a/ricky/param/multiselect.py +++ b/ricky/param/multiselect.py @@ -4,31 +4,12 @@ from ricky.param import Param class MultiSelect(Param): def __init__(self, **kwargs): - self._options = kwargs.get('options') or [] super(MultiSelect, self).__init__(**kwargs) - if len(self._options): - self._validate_options() - """default value is the option with the heaviest weight""" - self.default(self._choose_heaviest()) - - def options(self): - return self._options - - def _validate_options(self): - try: - int(self._options[0]['weight']) - self._options[0]['value'] - except Exception: - raise ValueError('Unable to validate %s\n:' % self.name) def value_get(self): return super(MultiSelect, self).value_get() def value_set(self, value): - import sys - sys.stderr.write("in value set right now for some reason...\n") - sys.stderr.write("%s\n" % self.name) - sys.stderr.write("%s\n" % value) if not any([value == i['value'] for i in self._options]) and \ value is not None: raise ValueError @@ -46,19 +27,3 @@ class MultiSelect(Param): self.value = elem["value"] break - def _choose_heaviest(self): - heaviest_idx = 0 - heaviest_weight = 0 - idx = 0 - if (len(self.options())): - for elem in self.options(): - if elem["weight"] > heaviest_weight: - heaviest_weight = elem["weight"] - heaviest_idx = idx - idx += 1 - return self.options()[heaviest_idx]["value"] - else: - self.randomize() - - def heaviest(self): - self.value = self._choose_heaviest() diff --git a/ricky/param/numberrange.py b/ricky/param/numberrange.py index 85314f8..30b9a6a 100644 --- a/ricky/param/numberrange.py +++ b/ricky/param/numberrange.py @@ -19,8 +19,10 @@ class NumberRange(Param): if position >= choice: self.value = elem["value"] return - self.value = random.randint(self.range_min, self.range_max) - + + val = random.randint(self.range_min, self.range_max) + self.value = val + @property def value(self): return super(NumberRange, self).value_get() @@ -28,7 +30,8 @@ class NumberRange(Param): @value.setter def value(self, value): self._value = value - if self._value < self.range_min or self._value > self.range_max: + if self._value and \ + (self._value < self.range_min or self._value > self.range_max): raise ValueError( "Value must be between %s and %s\n" % ( self.range_min, self.range_max diff --git a/ricky/param/param.py b/ricky/param/param.py index 0d1739f..57c801a 100644 --- a/ricky/param/param.py +++ b/ricky/param/param.py @@ -15,6 +15,21 @@ class Param(object): self.is_ready = 0 self._value = value self.set_by_user = set_by_user + self._options = kwargs.get('options') or [] + if len(self._options): + self._validate_options() + """default value is the option with the heaviest weight""" + self.default(self._choose_heaviest()) + + def options(self): + return self._options + + def _validate_options(self): + try: + int(self._options[0]['weight']) + self._options[0]['value'] + except Exception: + raise ValueError('Unable to validate %s\n:' % self.name) def __str__(self): return pprint.pformat(vars(self)) @@ -26,13 +41,13 @@ class Param(object): def value_set(self, value): self._value = value - sys.stderr.write("trying to set %s - %s: %s \n" % - ( - self.__class__.__name__, - self.name, - value - ) - ) +# sys.stderr.write("trying to set %s - %s: %s \n" % +# ( +# self.__class__.__name__, +# self.name, +# value +# ) +# ) if self._value: self.is_ready = 1 self.set_by_user = 1 @@ -52,3 +67,20 @@ class Param(object): def randomize(self): pass + + def _choose_heaviest(self): + heaviest_idx = 0 + heaviest_weight = 0 + idx = 0 + if (len(self.options())): + for elem in self.options(): + if elem["weight"] > heaviest_weight: + heaviest_weight = elem["weight"] + heaviest_idx = idx + idx += 1 + return self.options()[heaviest_idx]["value"] + else: + self.randomize() + + def heaviest(self): + self.value = self._choose_heaviest() |
