summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ricky/imbreak/params.py24
-rw-r--r--ricky/imgradient/params.py26
-rw-r--r--ricky/imgrid/params.py12
-rwxr-xr-xricky/impattern/__init__.py4
-rw-r--r--ricky/impattern/params.py41
-rw-r--r--ricky/param/multiselect.py32
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))