All pastes #777249 Raw Edit

No year? No problem!

public python v1 · immutable
·published 2007-11-16 17:35 UTC
rendered paste body
	rundttm = datetime.now()		prevdttm = None		thisyear = rundttm.year				logf = open(filename, "r")				for line in logf:			if self.re_raw.match(line):				rmat = self.re_raw.match(line)				rday, rmon, rhr, rmin = int(rmat.group(1)), self.lu_month[rmat.group(2)], int(rmat.group(3)), int(rmat.group(4))								if prevdttm and datetime(thisyear, rmon, rday, rhr) < datetime(prevdttm.year, prevdttm.month, prevdttm.day, prevdttm.hour):					for item in (itm for itm in self.contents if itm.dttm):						item.dttm = datetime(item.dttm.year-1, item.dttm.month, item.dttm.day, item.dttm.hour, item.dttm.minute)				elif datetime(thisyear, rmon, rday, rhr) > datetime(rundttm.year, rundttm.month, rundttm.day, rundttm.hour):					thisyear -= 1										for item in (itm for itm in self.contents if itm.dttm):						item.dttm = datetime(item.dttm.year-1, item.dttm.month, item.dttm.day, item.dttm.hour, item.dttm.minute)											ldttm = datetime(thisyear, rmon, rday, rhr, rmin)								ltext = rmat.group(5)								if self.re_nickchange.match(ltext):					ncmat = self.re_nickchange.match(ltext)					lold, laddr, lnew = ncmat.group(1), ncmat.group(2), ncmat.group(3)					self.contents.append(nickchange.NickChange(ldttm, lnew, lold, laddr))				elif self.re_quit.match(ltext):					qmat = self.re_quit.match(ltext)					lnick, laddr, lqmsg = qmat.group(1), qmat.group(2), qmat.group(3)					self.contents.append(userquit.UserQuit(ldttm, lqmsg, lnick, laddr))				elif self.re_ownnick.match(ltext):					onmat = self.re_ownnick.match(ltext)					lnick = onmat.group(1)					self.contents.append(nickchange.NickChange(ldttm, lnick))				else:					self.contents.append(simpleline.SimpleLine(ldttm, ltext))									prevdttm = ldttm