Esempio n. 1
0
def process_datetime(date_string):
    cal = Calendar()
    try:
        dt = date_parse(date_string)
    except TypeError:
        dt = cal.nlp(date_string)[0][0]
    return dt
Esempio n. 2
0
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