summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/isodate/isoduration.py8
-rw-r--r--src/isodate/isotime.py10
-rw-r--r--src/isodate/tests/test_pickle.py7
3 files changed, 9 insertions, 16 deletions
diff --git a/src/isodate/isoduration.py b/src/isodate/isoduration.py
index d64b3c0..88829f7 100644
--- a/src/isodate/isoduration.py
+++ b/src/isodate/isoduration.py
@@ -33,7 +33,8 @@ format timedelta or Duration instances as ISO conforming strings.
from datetime import timedelta
from decimal import Decimal
import re
-import sys
+
+from six import string_types
from isodate.duration import Duration
from isodate.isoerror import ISO8601Error
@@ -52,9 +53,6 @@ ISO8601_PERIOD_REGEX = re.compile(
r"(?P<seconds>[0-9]+([,.][0-9]+)?S)?)?$")
# regular expression to parse ISO duartion strings.
-if sys.version_info[0] >= 3:
- basestring = str
-
def parse_duration(datestring):
"""
@@ -84,7 +82,7 @@ def parse_duration(datestring):
The alternative format does not support durations with years, months or
days set to 0.
"""
- if not isinstance(datestring, basestring):
+ if not isinstance(datestring, string_types):
raise TypeError("Expecting a string %r" % datestring)
match = ISO8601_PERIOD_REGEX.match(datestring)
if not match:
diff --git a/src/isodate/isotime.py b/src/isodate/isotime.py
index a430982..113d34b 100644
--- a/src/isodate/isotime.py
+++ b/src/isodate/isotime.py
@@ -32,7 +32,6 @@ It supports all basic and extended formats including time zone specifications
as described in the ISO standard.
'''
import re
-import sys
from decimal import Decimal
from datetime import time
@@ -40,9 +39,6 @@ from isodate.isostrf import strftime, TIME_EXT_COMPLETE, TZ_EXT
from isodate.isoerror import ISO8601Error
from isodate.isotzinfo import TZ_REGEX, build_tzinfo
-if sys.version_info > (3,):
- long = int
-
TIME_REGEX_CACHE = []
# used to cache regular expressions to parse ISO time strings.
@@ -129,7 +125,7 @@ def parse_time(timestring):
if 'second' in groups:
# round to microseconds if fractional seconds are more precise
second = Decimal(groups['second']).quantize(Decimal('.000001'))
- microsecond = (second - int(second)) * long(1e6)
+ microsecond = (second - int(second)) * int(1e6)
# int(...) ... no rounding
# to_integral() ... rounding
return time(int(groups['hour']), int(groups['minute']),
@@ -138,7 +134,7 @@ def parse_time(timestring):
if 'minute' in groups:
minute = Decimal(groups['minute'])
second = (minute - int(minute)) * 60
- microsecond = (second - int(second)) * long(1e6)
+ microsecond = (second - int(second)) * int(1e6)
return time(int(groups['hour']), int(minute), int(second),
int(microsecond.to_integral()), tzinfo)
else:
@@ -146,7 +142,7 @@ def parse_time(timestring):
hour = Decimal(groups['hour'])
minute = (hour - int(hour)) * 60
second = (minute - int(minute)) * 60
- microsecond = (second - int(second)) * long(1e6)
+ microsecond = (second - int(second)) * int(1e6)
return time(int(hour), int(minute), int(second),
int(microsecond.to_integral()), tzinfo)
raise ISO8601Error('Unrecognised ISO 8601 time format: %r' % timestring)
diff --git a/src/isodate/tests/test_pickle.py b/src/isodate/tests/test_pickle.py
index 0d8c184..7fc6213 100644
--- a/src/isodate/tests/test_pickle.py
+++ b/src/isodate/tests/test_pickle.py
@@ -1,8 +1,7 @@
-try:
- import cPickle as pickle
-except ImportError:
- import pickle
import unittest
+
+from six.moves import cPickle as pickle
+
import isodate