def process_datetime(date_string): cal = Calendar() try: dt = date_parse(date_string) except TypeError: dt = cal.nlp(date_string)[0][0] return dt
def parse_datetime(date_string): """Parse a timetime object from a natural language string.""" cal = Calendar() unaware_dt = cal.nlp(date_string) if not unaware_dt: raise DateParseException("Due date '%s' unclear" % date_string) else: code = unaware_dt[0][1] unaware_dt = unaware_dt[0][0] # If no time is supplied, assume 6pm if code == 1: unaware_dt = unaware_dt.replace(hour=18, minute=0, second=0, microsecond=0) if os.environ.get('HABIT_TZ'): localtz = pytz.timezone(os.environ.get('HABIT_TZ')) else: localtz = get_localzone() aware_dt = localtz.localize(unaware_dt) return aware_dt