diff options
| author | pepperpepperpepper <pepper@scannerjammer.com> | 2015-10-08 21:15:47 -0700 |
|---|---|---|
| committer | pepperpepperpepper <pepper@scannerjammer.com> | 2015-10-08 21:15:47 -0700 |
| commit | b4fdde9e35bb1fdaf2d88e07b2fa00dce80d6cf6 (patch) | |
| tree | 27fefddb5b691a71a6759473c4d04b1979dfcc20 | |
| parent | 65915957b1e99e979f298cdba5d30284c1b3df0f (diff) | |
fixing like crazy
| -rw-r--r-- | ricky/im.py | 2 | ||||
| -rw-r--r-- | ricky/imgradient/imgradient.py | 8 | ||||
| -rw-r--r-- | ricky/imgradient/params.py | 145 | ||||
| -rw-r--r-- | ricky/param/color.py | 43 | ||||
| -rw-r--r-- | ricky/param/multiselect.py | 4 | ||||
| -rw-r--r-- | ricky/param/numberrange.py | 52 | ||||
| -rw-r--r-- | ricky/param/param.py | 8 | ||||
| -rw-r--r-- | ricky/param/string.py | 1 | ||||
| -rw-r--r-- | ricky/param/username.py | 4 | ||||
| -rw-r--r-- | ricky/params.py | 7 |
10 files changed, 194 insertions, 80 deletions
diff --git a/ricky/im.py b/ricky/im.py index 159aa89..3bbcf43 100644 --- a/ricky/im.py +++ b/ricky/im.py @@ -4,7 +4,7 @@ import sys import simplejson as json -class Im: +class Im(object): def __init__(self): self._required_keys = [] self.url = "" diff --git a/ricky/imgradient/imgradient.py b/ricky/imgradient/imgradient.py index bc04615..1d8da3d 100644 --- a/ricky/imgradient/imgradient.py +++ b/ricky/imgradient/imgradient.py @@ -1,12 +1,16 @@ +"""class for the imgradient api handler""" from ricky.im import Im -from ricky.imgradient.params import ImGradientParams +from ricky.imgradient.params import Params from ricky.config import IMGRADIENT_URL + class ImGradient(Im): def __init__(self): + super(ImGradient, self).__init__() self.url = IMGRADIENT_URL + def params_init(self): - new_params = ImGradientParams() + new_params = Params() #new_params = self.get_from_server() new_params.api = self return new_params diff --git a/ricky/imgradient/params.py b/ricky/imgradient/params.py index 9d44b2a..e88e7a4 100644 --- a/ricky/imgradient/params.py +++ b/ricky/imgradient/params.py @@ -1,45 +1,120 @@ -import re, random -from ricky.params import Params -from ricky.param import Param -from ricky.param.option import Option -from ricky.param.options import Options +import re +from ricky.params import Params as _Params from ricky.param.username import Username -from ricky.param.imageurl import ImageUrl from ricky.param.multiselect import MultiSelect from ricky.param.numberrange import NumberRange from ricky.param.color import Color - from ricky.imgradient.options import * - -class ImGradientParams(Params): +class Params(_Params): def __init__(self): - self._params = [ - Username(name="username", required=0), - NumberRange(name="width", required=1, options=width_options, min=100, max=800), - NumberRange(name="height", required=1, options=height_options, min=100, max=800), - Color(name="color1", required=1, options=color1_options), - Color(name="color2", required=1, options=color2_options), - MultiSelect(name="filetype", required=0, options=filetype_options), - MultiSelect(name="gradienttype", required=1, options=gradienttype_options), - MultiSelect(name="halftone", required=0, options=halftone_options), - MultiSelect(name="bevel", required=0, options=bevel_options), - - NumberRange(name="stripenumber", required=0, options=stripenumber_options, min=0, max=400), - NumberRange(name="stripeintensity", required=0, options=stripeintensity_options, min=0, max=5000), - - NumberRange(name="blurriness", required=0, options=blurriness_options, min=0, max=200), -# NumberRange(name="contrast", required=0, options=contrast_options, min=0, max=200), - NumberRange(name="brightness", required=0, options=brightness_options, min=0, max=200), - NumberRange(name="saturation", required=0, options=saturation_options, min=0, max=200), - NumberRange(name="hue", required=0, options=hue_options, min=0, max=200), - - NumberRange(name="percentbeveled", required=0, options=percentbeveled_options, min=0, max=100), - NumberRange(name="rotate", required=0, options=rotate_options, min=0, max=360), - NumberRange(name="tilt", required=0, options=tilt_options, min=0, max=360), + super(Params, self).__init__( + Username(name="username", required=0), + NumberRange( + name="width", + required=1, + options=width_options, + min=100, + max=800 + ), + NumberRange( + name="height", + required=1, + options=width_options, + min=100, + max=800 + ), + Color(name="color1", required=1, options=color1_options), + Color(name="color2", required=1, options=color2_options), + MultiSelect( + name="filetype", + required=0, + options=filetype_options + ), + MultiSelect( + name="gradienttype", + required=1, + options=gradienttype_options + ), + MultiSelect( + name="halftone", + required=0, + options=halftone_options + ), + MultiSelect(name="bevel", required=0, options=bevel_options), + NumberRange( + name="stripenumber", + required=0, + options=stripenumber_options, + min=0, + max=400 + ), + NumberRange( + name="stripeintensity", + required=0, + options=stripeintensity_options, + min=0, + max=5000 + ), - MultiSelect(name="flop", required=0, options=flop_options), - MultiSelect(name="flip", required=0, options=flip_options), - ] + NumberRange( + name="blurriness", + required=0, + options=blurriness_options, + min=0, + max=200 + ), + # NumberRange( + # name="contrast", + # required=0, + # options=contrast_options, + # min=0, + # max=200 + # ), + NumberRange( + name="brightness", + required=0, + options=brightness_options, + min=0, + max=200 + ), + NumberRange( + name="saturation", + required=0, + options=saturation_options, + min=0, + max=200 + ), + NumberRange( + name="hue", + required=0, + options=hue_options, + min=0, + max=200 + ), + NumberRange( + name="percentbeveled", + required=0, + options=percentbeveled_options, + min=0, + max=100 + ), + NumberRange( + name="rotate", + required=0, + options=rotate_options, + min=0, + max=360 + ), + NumberRange( + name="tilt", + required=0, + options=tilt_options, + min=0, + max=360 + ), + MultiSelect(name="flop", required=0, options=flop_options), + MultiSelect(name="flip", required=0, options=flip_options), + ) diff --git a/ricky/param/color.py b/ricky/param/color.py index b331fb9..e192cba 100644 --- a/ricky/param/color.py +++ b/ricky/param/color.py @@ -1,30 +1,39 @@ from ricky.param.multiselect import MultiSelect import random + + class Color(MultiSelect): def __init__(self, **kwargs): - super(Color, self).__init__(**kwargs) + super(Color, self).__init__(**kwargs) @classmethod - def from_rgb(cls, r,g,b): - return cls(value="rgb({},{},{})".format(r,g,b)) + def from_rgb(cls, r, g, b): + return cls(value="rgb({},{},{})".format(r, g, b)) @property def value(self): - return super(MultiSelect, self).value_get() + return super(MultiSelect, self).value_get() + @value.setter def value(self, value): - self._value = value - if not self._value is None: - self.is_ready = 1 - self.set_by_user = 1 + self._value = value + if self._value is not None: + self.is_ready = 1 + self.set_by_user = 1 def randomize(self): - weights_total = sum(map(lambda x: x["weight"], self.options())) + (255 * 255 * 255) - choice = random.randint(0, weights_total) - position = 0 - for elem in self.options(): - position += elem["weight"] - if position >= choice: - self.value = elem["value"] - return - self.value = "rgb({},{},{})".format( random.randint(0,255), random.randint(0,255), random.randint(0,255)) + weights_total = sum( + map(lambda x: x["weight"], self.options()) + ) + (255 * 255 * 255) + choice = random.randint(0, weights_total) + position = 0 + for elem in self.options(): + position += elem["weight"] + if position >= choice: + self.value = elem["value"] + return + self.value = "rgb(%s,%s,%s)" % ( + random.randint(0, 255), + random.randint(0, 255), + random.randint(0, 255) + ) diff --git a/ricky/param/multiselect.py b/ricky/param/multiselect.py index 1db22f3..ac5c9e7 100644 --- a/ricky/param/multiselect.py +++ b/ricky/param/multiselect.py @@ -25,6 +25,10 @@ class MultiSelect(Param): 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 diff --git a/ricky/param/numberrange.py b/ricky/param/numberrange.py index 37b85e3..5ecd165 100644 --- a/ricky/param/numberrange.py +++ b/ricky/param/numberrange.py @@ -1,27 +1,39 @@ -import sys -from ricky.param.multiselect import MultiSelect import random -class NumberRange(MultiSelect): +from ricky.param import Param + + +class NumberRange(Param): def __init__(self, **kwargs): - super(NumberRange, self).__init__(**kwargs) - self.range_min = kwargs['min'] - self.range_max = kwargs['max'] + super(Param, self).__init__() + self.range_min = kwargs['min'] + self.range_max = kwargs['max'] + def randomize(self): - weights_total = sum(map(lambda x: x["weight"], self.options())) + self.range_max - self.range_min - choice = random.randint(0, weights_total) - position = 0 - for elem in self.options(): - position += elem["weight"] - if position >= choice: - self.value = elem["value"] - return - self.value = random.randint(self.range_min,self.range_max) + weights_total = sum( + map(lambda x: x["weight"], self.options()) + ) + self.range_max - self.range_min + choice = random.randint(0, weights_total) + position = 0 + for elem in self.options(): + position += elem["weight"] + if position >= choice: + self.value = elem["value"] + return + self.value = random.randint(self.range_min, self.range_max) + @property def value(self): - return super(MultiSelect, self).value_get() + return super(Param, self).value_get() + @value.setter def value(self, value): - self._value = value - if not self._value is None: - self.is_ready = 1 - self.set_by_user = 1 + self._value = value + if 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 + ) + ) + if self._value is not None: + self.is_ready = 1 + self.set_by_user = 1 diff --git a/ricky/param/param.py b/ricky/param/param.py index 838da6b..0d1739f 100644 --- a/ricky/param/param.py +++ b/ricky/param/param.py @@ -26,7 +26,13 @@ class Param(object): def value_set(self, value): self._value = value - sys.stderr.write("trying to set %s: %s \n" % (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 diff --git a/ricky/param/string.py b/ricky/param/string.py index 10e289a..ba1fc26 100644 --- a/ricky/param/string.py +++ b/ricky/param/string.py @@ -1,4 +1,5 @@ from ricky.param import Param + class String(Param): def __init__(self, **kwargs): super(String, self).__init__(**kwargs) diff --git a/ricky/param/username.py b/ricky/param/username.py index e5023ec..cc00f60 100644 --- a/ricky/param/username.py +++ b/ricky/param/username.py @@ -3,5 +3,5 @@ from ricky.param.string import String class Username(String): def __init__(self, **kwargs): - super(Username, self).__init__(**kwargs) - self.default(USERNAME) + super(Username, self).__init__(**kwargs) + self.default(USERNAME) diff --git a/ricky/params.py b/ricky/params.py index 2b5e6ee..2f6ef33 100644 --- a/ricky/params.py +++ b/ricky/params.py @@ -4,9 +4,12 @@ import pprint class Params(object): - def __init__(self): + def __init__(self, *args): self._api = None - self._params = [] + self._params = args + + def define_from_list(self, definitions_list): + self._params = definitions_list def param(self, name): """getter for the param by name""" |
