#!/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