summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-10-09 00:52:22 -0700
committeryo mama <pepper@scannerjammer.com>2015-10-09 00:52:22 -0700
commitc0abc6cae41f7fd9dc4f9c81a79bce18562277fd (patch)
tree30a1d02a9c02b9be458f2abd4e435317766aead9
parentecd32cd78e8e9026cee409d21c9f29a0d8dff36f (diff)
better
-rwxr-xr-xexample.py19
-rw-r--r--ricky/param/multiselect.py35
-rw-r--r--ricky/param/numberrange.py9
-rw-r--r--ricky/param/param.py46
4 files changed, 52 insertions, 57 deletions
diff --git a/example.py b/example.py
index 600181e..3b2a91a 100755
--- a/example.py
+++ b/example.py
@@ -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()