Skip to content

Commit

Permalink
Improved free form date parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch committed Oct 3, 2015
1 parent bc8f9d2 commit 46ee9d2
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions panoramix/utils.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from datetime import datetime
from datetime import date, datetime, timedelta
from dateutil.parser import parse
import hashlib
from sqlalchemy.types import TypeDecorator, TEXT
import json
Expand Down Expand Up @@ -38,11 +39,22 @@ def parse_human_datetime(s):
Use the parsedatetime lib to return ``datetime.datetime`` from human
generated strings
>>> parse_human_datetime('2015-04-03')
datetime.datetime(2015, 4, 3, 0, 0)
>>> parse_human_datetime('2/3/1969')
datetime.datetime(1969, 2, 3, 0, 0)
>>> parse_human_datetime("now") <= datetime.now()
True
>>> parse_human_datetime("yesterday") <= datetime.now()
>>> date.today() - timedelta(1) == parse_human_datetime('yesterday').date()
True
"""
cal = parsedatetime.Calendar()
return dttm_from_timtuple(cal.parse(s)[0])
try:
dttm = parse(s)
except:
cal = parsedatetime.Calendar()
dttm = dttm_from_timtuple(cal.parse(s)[0])
return dttm


def dttm_from_timtuple(d):
Expand Down

0 comments on commit 46ee9d2

Please sign in to comment.