from timetable import Timetable import argparse import sys if __name__ == "__main__": parser = argparse.ArgumentParser(description='List event_id for modules') parser.add_argument('path', metavar='path', help='File path to timetable xlsx spreadsheet.') parser.add_argument('modules', metavar='module', nargs='+', help='List of modules.') parser.add_argument('-o', metavar='output file', help='Output file location.') args = parser.parse_args() t = Timetable(args.path) events = t.generate_event_list(args.modules) if args.o: with open(args.o, 'w') as f: for event in events: f.write(str(event) + '\n') else: for event in events: print(event)
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)