equal
deleted
inserted
replaced
8 __docformat__ = "restructuredtext en" |
8 __docformat__ = "restructuredtext en" |
9 |
9 |
10 import locale |
10 import locale |
11 from md5 import md5 |
11 from md5 import md5 |
12 from datetime import datetime, timedelta, date |
12 from datetime import datetime, timedelta, date |
13 from time import time |
13 from time import time, mktime |
14 from random import randint, seed |
14 from random import randint, seed |
15 from calendar import monthrange |
15 from calendar import monthrange |
16 |
16 |
17 # initialize random seed from current time |
17 # initialize random seed from current time |
18 seed() |
18 seed() |
35 # take care, datetime is a subclass of date |
35 # take care, datetime is a subclass of date |
36 if isinstance(somedate, datetime): |
36 if isinstance(somedate, datetime): |
37 return somedate |
37 return somedate |
38 assert isinstance(somedate, date), repr(somedate) |
38 assert isinstance(somedate, date), repr(somedate) |
39 return datetime(somedate.year, somedate.month, somedate.day) |
39 return datetime(somedate.year, somedate.month, somedate.day) |
|
40 |
|
41 def datetime2ticks(date): |
|
42 return mktime(date.timetuple()) * 1000 |
40 |
43 |
41 ONEDAY = timedelta(days=1) |
44 ONEDAY = timedelta(days=1) |
42 ONEWEEK = timedelta(days=7) |
45 ONEWEEK = timedelta(days=7) |
43 |
46 |
44 def days_in_month(date_): |
47 def days_in_month(date_): |
98 encoding = locale.getpreferredencoding(do_setlocale=False) or 'UTF-8' |
101 encoding = locale.getpreferredencoding(do_setlocale=False) or 'UTF-8' |
99 return unicode(date.strftime(str(fmt)), encoding) |
102 return unicode(date.strftime(str(fmt)), encoding) |
100 |
103 |
101 def make_uid(key): |
104 def make_uid(key): |
102 """forge a unique identifier""" |
105 """forge a unique identifier""" |
103 msg = str(key) + "%.10f"%time() + str(randint(0, 1000000)) |
106 msg = str(key) + "%.10f" % time() + str(randint(0, 1000000)) |
104 return md5(msg).hexdigest() |
107 return md5(msg).hexdigest() |
105 |
108 |
106 |
109 |
107 def dump_class(cls, clsname): |
110 def dump_class(cls, clsname): |
108 """create copy of a class by creating an empty class inheriting |
111 """create copy of a class by creating an empty class inheriting |