def validate(converter, val):
     if isinstance(val, time): pass
     elif isinstance(val, basestring): val = str2time(val)
     else: throw(TypeError, "Attribute %r: expected type is 'time'. Got: %r" % (converter.attr, val))
     mcs = converter.round_microseconds_to_precision(val.microsecond, converter.precision)
     if mcs is not None: val = val.replace(microsecond=mcs)
     return val
 def validate(converter, val, obj=None):
     if isinstance(val, time): pass
     elif isinstance(val, basestring): val = str2time(val)
     else: throw(TypeError, "Attribute %r: expected type is 'time'. Got: %r" % (converter.attr, val))
     mcs = converter.round_microseconds_to_precision(val.microsecond, converter.precision)
     if mcs is not None: val = val.replace(microsecond=mcs)
     return val
 def test_time_10(self):
     self.assertEqual(str2time('1:33pm'), time(13, 33))
     self.assertEqual(str2time('1:33 pm'), time(13, 33))
     self.assertEqual(str2time('1:33 PM'), time(13, 33))
     self.assertEqual(str2time('1:33 p.m'), time(13, 33))
     self.assertEqual(str2time('1:33 P.M'), time(13, 33))
     self.assertEqual(str2time('1:33 p.m.'), time(13, 33))
     self.assertEqual(str2time('1:33 P.M.'), time(13, 33))
 def test_time_9(self):
     self.assertEqual(str2time('1:33am'), time(1, 33))
     self.assertEqual(str2time('1:33 am'), time(1, 33))
     self.assertEqual(str2time('1:33 AM'), time(1, 33))
     self.assertEqual(str2time('1:33 a.m'), time(1, 33))
     self.assertEqual(str2time('1:33 A.M'), time(1, 33))
     self.assertEqual(str2time('1:33 a.m.'), time(1, 33))
     self.assertEqual(str2time('1:33 A.M.'), time(1, 33))
Beispiel #5
0
 def test_time_9(self):
     self.assertEqual(str2time('1:33am'), time(1, 33))
     self.assertEqual(str2time('1:33 am'), time(1, 33))
     self.assertEqual(str2time('1:33 AM'), time(1, 33))
     self.assertEqual(str2time('1:33 a.m'), time(1, 33))
     self.assertEqual(str2time('1:33 A.M'), time(1, 33))
     self.assertEqual(str2time('1:33 a.m.'), time(1, 33))
     self.assertEqual(str2time('1:33 A.M.'), time(1, 33))
Beispiel #6
0
 def test_time_10(self):
     self.assertEqual(str2time('1:33pm'), time(13, 33))
     self.assertEqual(str2time('1:33 pm'), time(13, 33))
     self.assertEqual(str2time('1:33 PM'), time(13, 33))
     self.assertEqual(str2time('1:33 p.m'), time(13, 33))
     self.assertEqual(str2time('1:33 P.M'), time(13, 33))
     self.assertEqual(str2time('1:33 p.m.'), time(13, 33))
     self.assertEqual(str2time('1:33 P.M.'), time(13, 33))
 def test_time_1(self):
     self.assertEqual(str2time('1:2'), time(1, 2))
     self.assertEqual(str2time('01:02'), time(1, 2))
     self.assertEqual(str2time('1:2:3'), time(1, 2, 3))
     self.assertEqual(str2time('01:02:03'), time(1, 2, 3))
     self.assertEqual(str2time('1:2:3.4'), time(1, 2, 3, 400000))
     self.assertEqual(str2time('01:02:03.4'), time(1, 2, 3, 400000))
Beispiel #8
0
 def test_time_1(self):
     self.assertEqual(str2time('1:2'), time(1, 2))
     self.assertEqual(str2time('01:02'), time(1, 2))
     self.assertEqual(str2time('1:2:3'), time(1, 2, 3))
     self.assertEqual(str2time('01:02:03'), time(1, 2, 3))
     self.assertEqual(str2time('1:2:3.4'), time(1, 2, 3, 400000))
     self.assertEqual(str2time('01:02:03.4'), time(1, 2, 3, 400000))
Beispiel #9
0
 def test_time_6(self):
     str2time('1:2:3.1234567')
Beispiel #10
0
 def test_time_5(self):
     str2time('1:2:3:')
Beispiel #11
0
 def test_time_4(self):
     str2time('1:2:')
Beispiel #12
0
 def test_time_3(self):
     str2time('1: 2')
Beispiel #13
0
 def test_time_2(self):
     str2time('1:')
 def test_time_7(self):
     self.assertEqual(str2time('1:33 am'), time(1, 33))
     self.assertEqual(str2time('2:33 am'), time(2, 33))
     self.assertEqual(str2time('11:33 am'), time(11, 33))
     self.assertEqual(str2time('12:33 am'), time(0, 33))
 def test_time_3(self):
     str2time('1: 2')
Beispiel #16
0
 def test_time_11(self):
     self.assertEqual(str2time('12:34:56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12.34.56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 34 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h34m56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789s'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 s'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789sec'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34 min 56.789 sec'), time(12, 34, 56, 789000))
 def test_time_11(self):
     self.assertEqual(str2time('12:34:56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12.34.56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 34 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h34m56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789'),
                      time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789s'), time(12, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 s'),
                      time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789'),
                      time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789sec'),
                      time(12, 34, 56, 789000))
     self.assertEqual(str2time('12h 34 min 56.789 sec'),
                      time(12, 34, 56, 789000))
 def test_time_12(self):
     self.assertEqual(str2time('12:34:56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12.34.56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 34 56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h34m56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789s a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 s a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789 a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789sec a.m.'),
                      time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34 min 56.789 sec a.m.'),
                      time(0, 34, 56, 789000))
 def test_time_4(self):
     str2time('1:2:')
 def test_time_5(self):
     str2time('1:2:3:')
 def test_time_8(self):
     self.assertEqual(str2time('1:33 pm'), time(13, 33))
     self.assertEqual(str2time('2:33 pm'), time(14, 33))
     self.assertEqual(str2time('11:33 pm'), time(23, 33))
     self.assertEqual(str2time('12:33 pm'), time(12, 33))
Beispiel #22
0
 def test_time_7(self):
     self.assertEqual(str2time('1:33 am'), time(1, 33))
     self.assertEqual(str2time('2:33 am'), time(2, 33))
     self.assertEqual(str2time('11:33 am'), time(11, 33))
     self.assertEqual(str2time('12:33 am'), time(0, 33))
Beispiel #23
0
    % {"attribute": attribute, "v0": value[0], "v1": value[1]},
    # TODO: implement
    # 'week_day', 'regex','isearch', 'search', 'iregex', 'regex',
}

NONE_REPR = set(["None", "none", "Null", "null"])
TRUE_REPR = set(["true", "True", "yes", "Yes"])
FALSE_REPR = set(["false", "False", "no", "No"])

QUERY_TERM_CONVERT_VALUE = {
    bool: lambda x: None if x in NONE_REPR else True if x in TRUE_REPR else False if x in FALSE_REPR else x,
    int: lambda x: None if x in NONE_REPR else int(x),
    long: lambda x: None if x in NONE_REPR else long(x),
    datetime.date: lambda x: None if x in NONE_REPR else str2date(x),
    datetime.datetime: lambda x: None if x in NONE_REPR else str2datetime(x),
    datetime.time: lambda x: None if x in NONE_REPR else str2time(x),
    datetime.timedelta: lambda x: None if x in NONE_REPR else datetime.timedelta(0, x),
    str: lambda x: None if x in NONE_REPR else x.encode("utf-8"),
    unicode: lambda x: None if x in NONE_REPR else x,
    decimal.Decimal: lambda x: None if x in NONE_REPR else decimal.Decimal(x),
    float: lambda x: None if x in NONE_REPR else float(x),
}


class DjonyDeclarativeMetaclass(DeclarativeMetaclass):
    def __new__(cls, name, bases, attrs):
        new_class = super(DjonyDeclarativeMetaclass, cls).__new__(cls, name, bases, attrs)
        include_fields = getattr(new_class._meta, "fields", [])
        excludes = getattr(new_class._meta, "excludes", [])
        object_model = getattr(new_class._meta, "object_model", None)
        if Resource in bases:
Beispiel #24
0
 def test_time_8(self):
     self.assertEqual(str2time('1:33 pm'), time(13, 33))
     self.assertEqual(str2time('2:33 pm'), time(14, 33))
     self.assertEqual(str2time('11:33 pm'), time(23, 33))
     self.assertEqual(str2time('12:33 pm'), time(12, 33))
 def test_time_2(self):
     str2time('1:')
Beispiel #26
0
 def validate(converter, val):
     if isinstance(val, datetime.time): return val
     if isinstance(val, basestring): return str2time(val)
     if isinstance(val, (int,long)): return datetime.time(0,0,val)
     throw(TypeError, "Attribute %r: expected type is 'time'. Got: %r" % (converter.attr, val))
 def test_time_6(self):
     str2time('1:2:3.1234567')
Beispiel #28
0
 def test_time_12(self):
     self.assertEqual(str2time('12:34:56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12.34.56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 34 56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h34m56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34m 56.789s a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12 h 34 m 56.789 s a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789 a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34min 56.789sec a.m.'), time(0, 34, 56, 789000))
     self.assertEqual(str2time('12h 34 min 56.789 sec a.m.'), time(0, 34, 56, 789000))
Beispiel #29
0
    'range':lambda attribute,value:'%(attribute)s >= %(v0)s and (attribute)s <= %(v1)s' % { 'attribute':attribute,'v0':value[0],'v1':value[1]},
    # TODO: implement
    # 'week_day', 'regex','isearch', 'search', 'iregex', 'regex',
}

NONE_REPR = set(['None','none','Null','null'])
TRUE_REPR = set(['true','True','yes','Yes'])
FALSE_REPR = set(['false','False','no','No'])

QUERY_TERM_CONVERT_VALUE = {
    bool:lambda x: None if x in NONE_REPR else True if x in TRUE_REPR else False if x in FALSE_REPR else x,
    int:lambda x:  None if x in NONE_REPR else int(x),
    long:lambda x:  None if x in NONE_REPR else long(x),
    datetime.date:lambda x: None if x in NONE_REPR else str2date(x),
    datetime.datetime:lambda x: None if x in NONE_REPR else str2datetime(x),
    datetime.time:lambda x: None if x in NONE_REPR else str2time(x),
    datetime.timedelta:lambda x: None if x in NONE_REPR else datetime.timedelta(0,x),
    str:lambda x:  None if x in NONE_REPR else x.encode('utf-8'),
    unicode:lambda x:  None if x in NONE_REPR else x,
    decimal.Decimal: lambda x:  None if x in NONE_REPR else decimal.Decimal(x),
    float: lambda x:  None if x in NONE_REPR else float(x),
}

class DjonyDeclarativeMetaclass(DeclarativeMetaclass):
    def __new__(cls, name, bases, attrs):
        new_class = super(DjonyDeclarativeMetaclass, cls).__new__(cls, name, bases, attrs)
        include_fields = getattr(new_class._meta, 'fields', [])
        excludes = getattr(new_class._meta, 'excludes', [])
        object_model = getattr(new_class._meta, 'object_model', None)
        if Resource in bases:
            return new_class
Beispiel #30
0
 def test_time_13(self):
     self.assertEqual(str2time('12:34'), time(12, 34))
     self.assertEqual(str2time('12.34'), time(12, 34))
     self.assertEqual(str2time('12 34'), time(12, 34))
     self.assertEqual(str2time('12h34'), time(12, 34))
     self.assertEqual(str2time('12h34m'), time(12, 34))
     self.assertEqual(str2time('12h 34m'), time(12, 34))
     self.assertEqual(str2time('12h34min'), time(12, 34))
     self.assertEqual(str2time('12h 34min'), time(12, 34))
     self.assertEqual(str2time('12 h 34 m'), time(12, 34))
     self.assertEqual(str2time('12 h 34 min'), time(12, 34))
     self.assertEqual(str2time('12u34'), time(12, 34))  # Belgium
     self.assertEqual(str2time('12h'), time(12))
     self.assertEqual(str2time('12u'), time(12))
 def test_time_13(self):
     self.assertEqual(str2time('12:34'), time(12, 34))
     self.assertEqual(str2time('12.34'), time(12, 34))
     self.assertEqual(str2time('12 34'), time(12, 34))
     self.assertEqual(str2time('12h34'), time(12, 34))
     self.assertEqual(str2time('12h34m'), time(12, 34))
     self.assertEqual(str2time('12h 34m'), time(12, 34))
     self.assertEqual(str2time('12h34min'), time(12, 34))
     self.assertEqual(str2time('12h 34min'), time(12, 34))
     self.assertEqual(str2time('12 h 34 m'), time(12, 34))
     self.assertEqual(str2time('12 h 34 min'), time(12, 34))
     self.assertEqual(str2time('12u34'), time(12, 34))  # Belgium
     self.assertEqual(str2time('12h'), time(12))
     self.assertEqual(str2time('12u'), time(12))
Beispiel #32
0
 def test_time_14(self):
     self.assertEqual(str2time('12:34 am'), time(0, 34))
     self.assertEqual(str2time('12.34 am'), time(0, 34))
     self.assertEqual(str2time('12 34 am'), time(0, 34))
     self.assertEqual(str2time('12h34 am'), time(0, 34))
     self.assertEqual(str2time('12h34m am'), time(0, 34))
     self.assertEqual(str2time('12h 34m am'), time(0, 34))
     self.assertEqual(str2time('12h34min am'), time(0, 34))
     self.assertEqual(str2time('12h 34min am'), time(0, 34))
     self.assertEqual(str2time('12 h 34 m am'), time(0, 34))
     self.assertEqual(str2time('12 h 34 min am'), time(0, 34))
     self.assertEqual(str2time('12u34 am'), time(0, 34))
     self.assertEqual(str2time('12h am'), time(0))
     self.assertEqual(str2time('12u am'), time(0))
 def test_time_14(self):
     self.assertEqual(str2time('12:34 am'), time(0, 34))
     self.assertEqual(str2time('12.34 am'), time(0, 34))
     self.assertEqual(str2time('12 34 am'), time(0, 34))
     self.assertEqual(str2time('12h34 am'), time(0, 34))
     self.assertEqual(str2time('12h34m am'), time(0, 34))
     self.assertEqual(str2time('12h 34m am'), time(0, 34))
     self.assertEqual(str2time('12h34min am'), time(0, 34))
     self.assertEqual(str2time('12h 34min am'), time(0, 34))
     self.assertEqual(str2time('12 h 34 m am'), time(0, 34))
     self.assertEqual(str2time('12 h 34 min am'), time(0, 34))
     self.assertEqual(str2time('12u34 am'), time(0, 34))
     self.assertEqual(str2time('12h am'), time(0))
     self.assertEqual(str2time('12u am'), time(0))