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))
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))
def test_time_6(self): str2time('1:2:3.1234567')
def test_time_5(self): str2time('1:2:3:')
def test_time_4(self): str2time('1:2:')
def test_time_3(self): str2time('1: 2')
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_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_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))
% {"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:
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))
'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
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_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))