Example #1
0
import sys
import csv
from util import read_from_file, get_all_rooms, get_course_attr, get_readable_attrs, print_columns, time_set

times, building, day = sys.argv[1:]
day = day.upper()

search_times = time_set(times)

courses = read_from_file(building)

rooms = get_all_rooms(courses)

whole_day = set(range(0, 1440))

results = []

for room in rooms:
    courses_in_room = [c for c in courses if get_course_attr(c, 'room') == room and day in get_course_attr(c, 'days')]
    busy_times = set()
    for course in courses_in_room:
        busy_times |= time_set(get_course_attr(course, 'rawtime'))
    available_times = whole_day - busy_times
    if search_times <= available_times:
        results.append(room)

print('Found {0} results'.format(len(results)))
results = sorted(results, key=lambda x: x.rjust(99)) # Sort, putting shorter room numbers first
for item in results:
    print(item)
Example #2
0
import sys
import csv
from util import read_from_file, get_all_rooms, get_course_attr, get_readable_attrs, print_columns

if len(sys.argv) == 4:
    room, building, day = sys.argv[1:]
    day = day.upper()
else:
    room, building = sys.argv[1:]
    day = ''

courses = read_from_file(building)

rooms = get_all_rooms(courses)

in_room = sorted([c for c in courses if get_course_attr(c, 'room') == room and day in get_course_attr(c, 'days')])
in_room = [get_readable_attrs(c) for c in in_room]

if in_room:
    print_columns(in_room)
elif room in rooms:
    print('No courses')
else:
    print('Invalid room')