#!/usr/bin/python import sys class cal: dayname = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'] def schedule(self,days): res = [] for day in days: today = [] for h in range(10,21): today.append([]) for person in day: for h in person[1]: today[ h-10 ].append( person[0] ) res.append( today ) return res def printsched(self,sched): for day in sched: print self.dayname[ sched.index(day) ] for hour in range(10,21): print ' %d:00 %2d %s' % (hour,len(day[hour-10]),day[hour-10]) if __name__ == '__main__': days = [] names = [] timings = 'freetime' if len(sys.argv) > 1: timings = sys.argv[1] for ln in open(timings): if ln[0] == ' ' or ln[0] == '\t': name,times = ln.split() word = ln.split() name = word[0] if name not in names: names.append( name ) hours = [] for times in word[1:]: for h in times.split(','): if len(h) == 0: continue (s,e) = h.split('-') hours.extend( range(int(s),int(e)) ) days[ len(days)-1 ].append( (name,hours) ) else: days.append([]) C = cal() C.printsched(C.schedule(days)) names.sort() print print 'People scheduled: ',len(names) print names