Beispiel #1
0
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)
Beispiel #2
0
            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)