summaryrefslogtreecommitdiff
path: root/webob/datetime_utils.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-09-15 22:24:40 -0400
committerChris McDonough <chrism@plope.com>2011-09-15 22:24:40 -0400
commit37bd9b5b167684ce70a2ee4fe4340f0ef80717d8 (patch)
tree0f9d276117b72ce713edbba4ded10db49e268bd0 /webob/datetime_utils.py
parent157647c4580583ba7065567bb876303362d60387 (diff)
downloadwebob-37bd9b5b167684ce70a2ee4fe4340f0ef80717d8.tar.gz
work towards creating and using 'compat' module and removing syntax errors when code is run under py3k; all tests pass under py2, but most tests still fail under py3k
Diffstat (limited to 'webob/datetime_utils.py')
-rw-r--r--webob/datetime_utils.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/webob/datetime_utils.py b/webob/datetime_utils.py
index 8915aa1..83c3706 100644
--- a/webob/datetime_utils.py
+++ b/webob/datetime_utils.py
@@ -1,7 +1,16 @@
import time
import calendar
-from datetime import datetime, date, timedelta, tzinfo
-from email.utils import parsedate_tz, mktime_tz, formatdate
+from datetime import datetime
+from datetime import date
+from datetime import timedelta
+from datetime import tzinfo
+from email.utils import parsedate_tz
+from email.utils import mktime_tz
+from email.utils import formatdate
+
+from webob.compat import text_type
+from webob.compat import binary_type
+from webob.compat import integer_types
__all__ = [
'UTC', 'timedelta_to_seconds',
@@ -60,9 +69,9 @@ def parse_date(value):
return datetime.fromtimestamp(t, UTC)
def serialize_date(dt):
- if isinstance(dt, unicode):
+ if isinstance(dt, text_type):
dt = dt.encode('ascii')
- if isinstance(dt, str):
+ if isinstance(dt, binary_type):
return dt
if isinstance(dt, timedelta):
dt = _now() + dt
@@ -70,7 +79,7 @@ def serialize_date(dt):
dt = dt.timetuple()
if isinstance(dt, (tuple, time.struct_time)):
dt = calendar.timegm(dt)
- if not isinstance(dt, (float, int, long)):
+ if not (isinstance(dt, float) or isinstance(dt, integer_types)):
raise ValueError(
"You must pass in a datetime, date, time tuple, or integer object, not %r" % dt)
return formatdate(dt, usegmt=True)