diff options
| -rw-r--r-- | ricky/imbreak/params.py | 24 | ||||
| -rw-r--r-- | ricky/imgradient/params.py | 26 | ||||
| -rw-r--r-- | ricky/imgrid/params.py | 12 | ||||
| -rwxr-xr-x | ricky/impattern/__init__.py | 4 | ||||
| -rw-r--r-- | ricky/impattern/params.py | 41 | ||||
| -rw-r--r-- | ricky/param/multiselect.py | 32 |
6 files changed, 50 insertions, 89 deletions
diff --git a/ricky/imbreak/params.py b/ricky/imbreak/params.py index 3df42ec..9ceb89c 100644 --- a/ricky/imbreak/params.py +++ b/ricky/imbreak/params.py @@ -1,12 +1,12 @@ from ricky.params import Params from ricky.param.username import Username from ricky.param.imageurl import ImageUrl -from ricky.param.multiselect import MultiSelect +from ricky.param.enum import Enum from ricky.param.constrainednumber import ConstrainedNumber from ricky.param.bool import Bool -breaktype_options = [ +_BREAKTYPE_OPTIONS = [ "CLASSIC", "REDUX", "BLURRY_BREAK", @@ -20,11 +20,11 @@ breaktype_options = [ "STRIPES", "PHOTOCOPY" ] -breakmode_options = [ +_BREAKMODE_OPTIONS = [ "extreme", "subtle", ] -finalformat_options = [ +_FINALFORMAT_OPTIONS = [ "png", "jpg", "gif", @@ -33,25 +33,25 @@ finalformat_options = [ class ImBreakParams(Params): def __init__(self): - self._params = [ + self._params = ( Username(name="username", required=False), ImageUrl(name="url", required=True), - MultiSelect( + Enum( name="finalformat", required=False, - options=finalformat_options), - MultiSelect( + options=_FINALFORMAT_OPTIONS), + Enum( name="breaktype", required=True, - options=breaktype_options), + options=_BREAKTYPE_OPTIONS), ConstrainedNumber( name="breakangle", required=False, min=-180, max=180), - MultiSelect( + Enum( name="breakmode", required=True, - options=breakmode_options), + options=_BREAKMODE_OPTIONS), Bool(name="expanded", required=False) - ] + ) diff --git a/ricky/imgradient/params.py b/ricky/imgradient/params.py index 38cea33..8afbc2d 100644 --- a/ricky/imgradient/params.py +++ b/ricky/imgradient/params.py @@ -1,12 +1,12 @@ from ricky.params import Params as _Params from ricky.param.username import Username -from ricky.param.multiselect import MultiSelect +from ricky.param.enum import Enum from ricky.param.constrainednumber import ConstrainedNumber from ricky.param.bool import Bool from ricky.param.color import Color -_HALFTONE_OPTIONS = [ +_HALFTONE_OPTIONS = ( "", "checkeredfade", "etchedtransition", @@ -14,9 +14,9 @@ _HALFTONE_OPTIONS = [ "smallerdots1", "smallerdots2", "flatstripes", -] +) -_BEVEL_OPTIONS = [ +_BEVEL_OPTIONS = ( "", "flatout", "flatinner", @@ -25,15 +25,15 @@ _BEVEL_OPTIONS = [ "bigouter", "dramaticflatout", "dramaticflatinner", -] +) -_FILETYPE_OPTIONS = [ +_FILETYPE_OPTIONS = ( "png", "jpg", "gif", -] +) -_GRADIENTTYPE_OPTIONS = [ +_GRADIENTTYPE_OPTIONS = ( "canvas", "gradient", "radial", @@ -42,7 +42,7 @@ _GRADIENTTYPE_OPTIONS = [ "gradientwash", "mirrored", "noise", -] +) class Params(_Params): @@ -63,21 +63,21 @@ class Params(_Params): ), Color(name="color1", required=True), Color(name="color2", required=True), - MultiSelect( + Enum( name="filetype", required=False, ), - MultiSelect( + Enum( name="gradienttype", required=True, options=_GRADIENTTYPE_OPTIONS ), - MultiSelect( + Enum( name="halftone", required=False, options=_HALFTONE_OPTIONS ), - MultiSelect( + Enum( name="bevel", required=False, options=_BEVEL_OPTIONS diff --git a/ricky/imgrid/params.py b/ricky/imgrid/params.py index 52fd022..fc54f25 100644 --- a/ricky/imgrid/params.py +++ b/ricky/imgrid/params.py @@ -2,7 +2,7 @@ import random from ricky.params import Params from ricky.param.username import Username from ricky.param.imageurl import ImageUrl -from ricky.param.multiselect import MultiSelect +from ricky.param.enum import Enum from ricky.param.constrainednumber import ConstrainedNumber from ricky.param.color import Color from ricky.param.bool import Bool @@ -56,7 +56,7 @@ class Param_Zoom(ConstrainedNumber): @property def value(self): - return super(MultiSelect, self).value_get() + return super(Enum, self).value_get() @value.setter def value(self, value): @@ -90,17 +90,17 @@ class Param_Opacity(ConstrainedNumber): class ImGridParams(Params): def __init__(self): - self._params = [ + self._params = ( Username(name="username", required=False), ImageUrl(name="bgimage", required=False), ImageUrl(name="imageinstead", required=False), ImageUrl(name="planebgimage", required=False), - MultiSelect( + Enum( name="format", required=False, options=_FILETYPE_OPTIONS ), - MultiSelect( + Enum( name="transition", required=True, options=_TRANSITION_OPTIONS @@ -133,7 +133,7 @@ class ImGridParams(Params): max=12, exclusion_range=[-1.1, 1.1] ) - ] + ) def test_values(self): return not any([ diff --git a/ricky/impattern/__init__.py b/ricky/impattern/__init__.py index 577623e..3e22f78 100755 --- a/ricky/impattern/__init__.py +++ b/ricky/impattern/__init__.py @@ -2,11 +2,13 @@ from ricky.im import Im from ricky.impattern.params import ImPatternParams from ricky.config import IMPATTERN_URL + class ImPattern(Im): def __init__(self): self.url = IMPATTERN_URL + def params_init(self): new_params = ImPatternParams() - #new_params = self.get_from_server() + # new_params = self.get_from_server() new_params.api = self return new_params diff --git a/ricky/impattern/params.py b/ricky/impattern/params.py index 4c2d58c..20f64d0 100644 --- a/ricky/impattern/params.py +++ b/ricky/impattern/params.py @@ -1,33 +1,24 @@ -import re -from ricky.params import Params -from ricky.param import Param -from ricky.param.probability import Probability -from ricky.param.probabilities import Probabilities +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.enum import Enum +from ricky.config import PATTERN_URL_BASE -from ricky.config import PATTERN_BASE_URL -class Pattern_UrlProbability(Probability): - def __init__(self, **kwargs): - super(Pattern_UrlProbability, self).__init__(**kwargs) - @classmethod - def from_name(cls, **kwargs): - formatted = "{}/{}.png".format(PATTERN_BASE_URL, kwargs["value"]) - return cls(weight=kwargs["weight"], value=formatted ) - -class ImPatternParams(Params): +class Params(_Params): def __init__(self): - self._params = [ + self._params = ( Username(name="username", required=False), ImageUrl(name="image_url", required=True), - MultiSelect(name="pattern_url", required=True, probabilities=pattern_url_probabilities) - ] - -pattern_url_probabilities = Probabilities(*[ - Pattern_UrlProbability.from_name(weight=0, value=i) for i in range(1,100) ] + [ - Pattern_UrlProbability.from_name(weight=0, value="a{}".format(i)) for i in range(0, 42) -]) + Enum( + name="pattern_url", + required=True, + options=self._get_pattern_urls() + ) + ) -pattern_url_probabilities.search("a10").weight = 20; + def _get_pattern_urls(self): + return set( + ["%s/img/%s.png" % (PATTERN_URL_BASE, i) for i in xrange(0, 97)] + + ["%s/img/a%s.png" % (PATTERN_URL_BASE, i) for i in xrange(1, 42)] + ) diff --git a/ricky/param/multiselect.py b/ricky/param/multiselect.py deleted file mode 100644 index 8da5374..0000000 --- a/ricky/param/multiselect.py +++ /dev/null @@ -1,32 +0,0 @@ -import random -from ricky.param import Param - - -class MultiSelect(Param): - def __init__(self, **kwargs): - super(MultiSelect, self).__init__(**kwargs) - self._options = kwargs.get('options') or [] - if len(self._options): - self._validate_options() - - def options(self): - return self._options - - def _validate_options(self): - try: - pass - 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): - if value not in self._options and value is not None: - raise ValueError - super(MultiSelect, self).value_set(value) - - value = property(value_get, value_set) - - def randomize(self): - self.value_set(random.choice(self.options)) |
