from timetable import Timetable import argparse import sys if __name__ == "__main__": parser = argparse.ArgumentParser( description='Create html time table from event list') parser.add_argument('path1', metavar='timetable path', help='xlsx timetable file path') parser.add_argument('path2', metavar='event_id path', help='event_id list file path ') parser.add_argument('-o', metavar='output file', help='Output file location.') args = parser.parse_args() t = Timetable(args.path1) with open(args.path2, 'r') as f: events = f.read().splitlines() t.load_events(events) out = t.render_html() if args.o: with open(args.o, 'w') as f1: f1.write(out) else: print(out)
score += 10 return score def daylength(self, events): score = 0 if events[-1].end_time - events[0].start_time < 6 * 60: score += 10 if sum(x.length_time for x in events) < 4 * 60: score += 10 return score if __name__ == "__main__": files = [ "Room List.xlsx", "Roomequip.xlsx", "Timetable2018-19.xlsx", "buildings.csv" ] paths = [os.path.join("Data", x) for x in files] buildings = load_buildings() #rooms = load_rooms(paths[0], paths[1], buildings) timetable = Timetable(paths[2]) modules = timetable.list_modules() test = sys.argv[1:] events = timetable.generate_event_list(test) timetable.load_events(events) m = TimetableMetrics(timetable, buildings, sys.argv[1]) a = m.calc_metrics() m.get_averages(a)