Fix dealing with plain years

`-from` and `-to` flags also work
This commit is contained in:
William Minchin 2014-02-08 14:40:49 -07:00
parent da28dc9249
commit aede53a9f4

View file

@ -244,6 +244,16 @@ class Journal(object):
elif isinstance(date_str, datetime): elif isinstance(date_str, datetime):
return date_str return date_str
if re.match(r'^\d{4}$', date_str):
# i.e. if we're just given a year
if end_flag == "from":
date = datetime(year=int(date_str), month=1, day=1, hour=0, minute=0)
elif end_flag == "to":
date = datetime(year=int(date_str), month=12, day=31, hour=23, minute=59, second=59)
else:
# Use the default time.
date = datetime(year=int(date_str), month=1, day=1, hour=self.config['default_hour'], minute=self.config['default_minute'])
else:
try: try:
date = dateutil.parser.parse(date_str) date = dateutil.parser.parse(date_str)
flag = 1 if date.hour == 0 and date.minute == 0 else 2 flag = 1 if date.hour == 0 and date.minute == 0 else 2