Exemplo n.º 1
0
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)
Exemplo n.º 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)