Skip to content

Commit c2176ea

Browse files
committed
moar
1 parent fb82ad9 commit c2176ea

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

pandas/compat/__init__.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -381,27 +381,32 @@ def raise_with_traceback(exc, traceback=Ellipsis):
381381
# http://stackoverflow.com/questions/4126348
382382
# Thanks to @martineau at SO
383383

384+
# dateutil compat across versions
385+
384386
import dateutil
385387

386388
if PY2 and LooseVersion(dateutil.__version__) == '2.0':
387389
# dateutil brokenness
388390
raise Exception("dateutil 2.0 incompatible with Python 2.x, "
389391
"you must install version 1.5 or 2.1+!")
392+
elif LooseVersion(dateutil.__version__) < '2.0':
390393

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':
392402

393403
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
395409

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
405410

406411

407412
# https://github.com/pandas-dev/pandas/pull/9123

0 commit comments

Comments
 (0)