summaryrefslogtreecommitdiff
path: root/ricky/imbreak/params.py
blob: 9ceb89c64cc35407f08326c06aa07a11426b2ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from ricky.params import Params
from ricky.param.username import Username
from ricky.param.imageurl import ImageUrl
from ricky.param.enum import Enum
from ricky.param.constrainednumber import ConstrainedNumber
from ricky.param.bool import Bool


_BREAKTYPE_OPTIONS = [
    "CLASSIC",
    "REDUX",
    "BLURRY_BREAK",
    "BLURRY_BREAK_2",
    "SWIPE",
    "RGB_WASH",
    "RGB_WASH_2",
    "NOISY_BREAK",
    "BROKEN_VIGNETTE",
    "FAX_MACHINE",
    "STRIPES",
    "PHOTOCOPY"
]
_BREAKMODE_OPTIONS = [
    "extreme",
    "subtle",
]
_FINALFORMAT_OPTIONS = [
    "png",
    "jpg",
    "gif",
]


class ImBreakParams(Params):
    def __init__(self):
        self._params = (
           Username(name="username", required=False),
           ImageUrl(name="url", required=True),
           Enum(
                       name="finalformat",
                       required=False,
                       options=_FINALFORMAT_OPTIONS),
           Enum(
                       name="breaktype",
                       required=True,
                       options=_BREAKTYPE_OPTIONS),
           ConstrainedNumber(
                       name="breakangle",
                       required=False,
                       min=-180,
                       max=180),
           Enum(
                       name="breakmode",
                       required=True,
                       options=_BREAKMODE_OPTIONS),
           Bool(name="expanded", required=False)
        )