46aa7e6c |
#!/usr/bin/env python
import sys
import re
targ = re.compile(r'\xc2\xb7 Like')
import dateutil.parser
import dateutil
# copied at Mon Aug 25 14:46
start_date = dateutil.parser.parse('Mon Aug 28 02:00')
time_parser = re.compile(r'(\d+) (hr|min|sec|hour)')
for line in sys.stdin:
match = targ.search(line)
if match is not None:
date = line.partition('\xc2\xb7')[0].strip()
try:
print dateutil.parser.parse(date)
except (TypeError,ValueError):
if date.startswith('Yesterday'):
date = date.partition(' ')[2]
date = 'August 24 %s' % date
print dateutil.parser.parse(date)
elif date.startswith('Just now'):
print start_date
else:
match = time_parser.match(date)
if match:
num,unit = match.groups()
if unit == 'hr' or unit == 'hour':
print start_date + dateutil.relativedelta.relativedelta(hours=-int(num))
elif unit == 'min':
print start_date + dateutil.relativedelta.relativedelta(minutes=-int(num))
elif unit == 'sec':
print start_date + dateutil.relativedelta.relativedelta(seconds=-int(num))
else:
print date
raise
else:
print date
raise
|