@@ -381,27 +381,32 @@ def raise_with_traceback(exc, traceback=Ellipsis):
381
381
# http://stackoverflow.com/questions/4126348
382
382
# Thanks to @martineau at SO
383
383
384
+ # dateutil compat across versions
385
+
384
386
import dateutil
385
387
386
388
if PY2 and LooseVersion (dateutil .__version__ ) == '2.0' :
387
389
# dateutil brokenness
388
390
raise Exception ("dateutil 2.0 incompatible with Python 2.x, "
389
391
"you must install version 1.5 or 2.1+!" )
392
+ elif LooseVersion (dateutil .__version__ ) < '2.0' :
390
393
391
- try :
394
+ from dateutil import parser as _date_parser
395
+
396
+ @functools .wraps (_date_parser .parse )
397
+ def parse_date (timestr , * args , ** kwargs ):
398
+ timestr = bytes (timestr )
399
+ return _date_parser .parse (timestr , * args , ** kwargs )
400
+
401
+ elif LooseVersion (dateutil .__version__ ) <= '2.6.1' :
392
402
393
403
from dateutil import parser as _date_parser
394
- if LooseVersion (dateutil .__version__ ) < '2.0' :
404
+ parse_date = _date_parser .parse
405
+
406
+ else :
407
+
408
+ from dateutil .parsers import parser as _date_parser
395
409
396
- @functools .wraps (_date_parser .parse )
397
- def parse_date (timestr , * args , ** kwargs ):
398
- timestr = bytes (timestr )
399
- return _date_parser .parse (timestr , * args , ** kwargs )
400
- else :
401
- parse_date = _date_parser .parse
402
- except Exception as e :
403
- print (e )
404
- raise
405
410
406
411
407
412
# https://github.com/pandas-dev/pandas/pull/9123
0 commit comments