utils.py
branchtls-sprint
changeset 1024 bb96289257bf
parent 1016 26387b836099
child 1132 96752791c2b6
--- a/utils.py	Tue Mar 10 11:35:52 2009 +0100
+++ b/utils.py	Tue Mar 10 15:17:40 2009 +0100
@@ -8,9 +8,12 @@
 
 import locale
 from md5 import md5
-from datetime import datetime, timedelta
+from datetime import datetime, timedelta, date
 from time import time
 from random import randint, seed
+    
+# initialize random seed from current time
+seed()
 
 try:
     strptime = datetime.strptime
@@ -18,23 +21,14 @@
     from time import strptime as time_strptime
     def strptime(value, format):
         return datetime(*time_strptime(value, format)[:6])
-    
-# initialize random seed from current time
-seed()
-
-def make_uid(key):
-    """forge a unique identifier"""
-    msg = str(key) + "%.10f"%time() + str(randint(0, 1000000))
-    return md5(msg).hexdigest()
 
-def working_hours(mxdate):
-    """
-    Predicate returning True is the date's hour is in working hours (8h->20h)
-    """
-    if mxdate.hour > 7 and mxdate.hour < 21:
-        return True
-    return False
-    
+def todate(somedate):
+    """return a date from a date (leaving unchanged) or a datetime"""
+    if isinstance(somedate, datetime):
+        return date(somedate.year, somedate.month, somedate.day)
+    assert isinstance(somedate, date)
+    return date
+
 def date_range(begin, end, incr=1, include=None):
     """yields each date between begin and end
     :param begin: the start date
@@ -62,6 +56,11 @@
     encoding = locale.getpreferredencoding(do_setlocale=False) or 'UTF-8'
     return unicode(date.strftime(fmt), encoding)
 
+def make_uid(key):
+    """forge a unique identifier"""
+    msg = str(key) + "%.10f"%time() + str(randint(0, 1000000))
+    return md5(msg).hexdigest()
+
 
 def dump_class(cls, clsname):
     """create copy of a class by creating an empty class inheriting