summaryrefslogtreecommitdiff
path: root/ricky/pbbreaker/params.py
blob: 57c93f346d3387df1327de42a4530a7f37263a85 (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
58
from ricky.params import Params as _Params
from ricky.param.username import Username
from ricky.param.imageurl import PbageUrl
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 Params(_Params):
    def __init__(self):
        self._params = (
           Username(name="username", required=False),
           PbageUrl(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,
                       enforce_int=True,
                       min=-180,
                       max=180),
           Enum(
                       name="breakmode",
                       required=True,
                       options=_BREAKMODE_OPTIONS),
           Bool(name="expanded", required=False)
        )