diff --git a/.gitignore b/.gitignore index 1a8fd1b8..d62c96cd 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ obj # virtaulenv env/ env*/ + +#random extras +extras/ diff --git a/parse-date-test.py b/parse-date-test.py deleted file mode 100644 index 5ff9e42e..00000000 --- a/parse-date-test.py +++ /dev/null @@ -1,67 +0,0 @@ -"""Parses a string containing a fuzzy date and returns a datetime.datetime object""" - -from datetime import datetime -import dateutil -import argparse -try: import parsedatetime.parsedatetime_consts as pdt -except ImportError: import parsedatetime as pdt - -parser = argparse.ArgumentParser() -parser.add_argument('-i', default='today') -parser.add_argument('-f', default=None) -args = parser.parse_args() -print "args: " + str(args) -date_str = args.i -end_flag = args.f - -# Set up date parser -consts = pdt.Constants(usePyICU=False) -consts.DOWParseStyle = -1 # "Monday" will be either today or the last Monday -dateparse = pdt.Calendar(consts) - -if not date_str: - print "Nothing supplied" - # return None -elif isinstance(date_str, datetime): - print date_str - # return date_str - -try: - date = dateutil.parser.parse(date_str) - flag = 1 if date.hour == 0 and date.minute == 0 else 2 - date = date.timetuple() -except: - date, flag = dateparse.parse(date_str) - -if not flag: # Oops, unparsable. - try: # Try and parse this as a single year - year = int(date_str) - print datetime(year, 1, 1) - # return datetime(year, 1, 1) - except ValueError: - print "return None" - # return None - except TypeError: - print "return None" - # return None - -if flag is 1: # Date found, but no time. Use the default time. - if end_flag == "from": - date = datetime(*date[:3], hour=0, minute=0) - elif end_flag == "to": - date = datetime(*date[:3], hour=23, minute=59, second=59) - else: - # Use the default time. - date = datetime(*date[:3], hour=9, minute=1) -else: - date = datetime(*date[:6]) - -# Ugly heuristic: if the date is more than 4 weeks in the future, we got the year wrong. -# Rather then this, we would like to see parsedatetime patched so we can tell it to prefer -# past dates -dt = datetime.now() - date -if dt.days < -28: - date = date.replace(date.year - 1) - -print date -# return date \ No newline at end of file