Exemplo n.º 1
0
    def test_on_error_ensured_trafaret(self):
        trafaret = t.OnError(t.Bool, message='Changed message')

        res = trafaret(False)

        self.assertEqual(res, False)
Exemplo n.º 2
0
    def test_on_error_data_error(self):
        trafaret = t.OnError(t.Bool, message='Changed message')

        res = catch_error(trafaret, 'Trololo')

        self.assertEqual(res.as_dict(), 'Changed message')
Exemplo n.º 3
0
    def test_on_error(self):
        trafaret = t.OnError(t.Bool(), message='Changed message')

        res = trafaret(True)

        self.assertEqual(res, True)
Exemplo n.º 4
0
 def test_on_error_ensured_trafaret(self):
     trafaret = t.OnError(t.Bool, message='Changed message')
     res = trafaret(False)
     assert res is False
Exemplo n.º 5
0
 def test_on_error(self):
     trafaret = t.OnError(t.Bool(), message='Changed message')
     res = trafaret(True)
     assert res is True
Exemplo n.º 6
0
    just,
    Any,
    All,
    Not,
    Pattern,
    unique_strings_list,
    ensure_list,
)
from .decimal import Decimal
from .format import format_trafaret


__VERSION__ = (0, 2, 1)


check_number = t.OnError(t.Float() | Decimal(), 'Not a number')

json_schema_type = (
    t.Atom('null') & just(t.Null())
    | t.Atom('boolean') & just(t.Bool())
    | t.Atom('object') & just(t.Type(dict))
    | t.Atom('array') & just(t.Type(list))
    | t.Atom('number') & just(check_number)
    | t.Atom('integer') & just(t.Int())
    | t.Atom('string') & just(t.String())
)


def multipleOf(multiplier):
    def check(value):
        if value % multiplier != 0:
Exemplo n.º 7
0
        super(ReAndTrans, self).__init__(regexp, re_flags)
        self.trans = trans

    def check_and_return(self, value):
        return self.trans(super(ReAndTrans, self).check_and_return(value))


def format_macaddr(mac_address):
    m = mac_address.upper().replace('-', '').replace(':', '')
    return ':'.join(m[x:x + 2] for x in range(0, len(m), 2))


MacAddress = t.OnError(
    ReAndTrans(re.compile(
        r'^([0-9A-F]{2}[:-]?){5}([0-9A-F]{2})$',
        re.IGNORECASE,
    ),
               trans=format_macaddr),
    'value is not a MAC address',
)

SiteName = t.OnError(
    # XXX: New unifi update changes site id structure, fix for future releases
    # t.Or(t.String(min_length=8, max_length=8), t.Atom('default')),
    t.String(),
    'value is not an Unifi site id')

# No concrete JsonResponse structure for now, only basics
# maybe use special t.Key to map some usefull things like meta.rc (ok, error) => (True, False) in another key
JsonResponse = t.Dict(
    {
        'data':