something broken but I don't know how

This commit is contained in:
SowinskiBraeden committed 2022-04-22 14:07:50 -07:00
1 parent 22c87ee1de
commit 27936cd012
1 file changed
+13 -10
+13 -10
View File
@@ -67,13 +67,12 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
# Step 1 - Calculate which classes can run # Step 1 - Calculate which classes can run
for student in students: for student in students:
# Tally class request # Tally class request
for request in student["requests"]: for request in (request for request in student["requests"] if not request["alt"] and request not in ["XAT--12A-S", "XAT--12B-S"]):
if not bool([i for i in ["XAT--12A-S", "XAT--12B-S"] if (i in request["CrsNo"])]): # Filters any requested study blocks (flex: no class block) code = request["CrsNo"]
code = request["CrsNo"] courses[code]["Requests"] += 1
courses[code]["Requests"] += 1 # Add course to active list if enough requests
# Add course to active list if enough requests if courses[code]["Requests"] > minReq and courses[code]["CrsNo"] not in activeCourses:
if courses[code]["Requests"] > minReq and courses[code]["CrsNo"] not in activeCourses: activeCourses[code] = courses[code]
activeCourses[code] = courses[code]
# Step 2 - Generate empty classes # Step 2 - Generate empty classes
@@ -199,7 +198,6 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
# handle options to solve for missing class # handle options to solve for missing class
getAvailableCourse = False getAvailableCourse = False
break break
elif cname not in selectedCourses: elif cname not in selectedCourses:
selectedCourses[cname] = { selectedCourses[cname] = {
"students": [student["Pupil #"]], "students": [student["Pupil #"]],
@@ -230,7 +228,7 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
# Spread classes throughout both semesters # Spread classes throughout both semesters
blockIndex = 0 blockIndex = 0
offset = 0 offset = 0
for i in range(courseRunInfo[list(courseRunInfo)[index]]["Total"]): for i in range(courseRunInfo[course]["Total"]):
cname = f"{course}-{i}" cname = f"{course}-{i}"
blockIndex += offset blockIndex += offset
running[list(running)[blockIndex]][cname] = { running[list(running)[blockIndex]][cname] = {
@@ -239,7 +237,12 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
"students": selectedCourses[cname]["students"] "students": selectedCourses[cname]["students"]
} }
if offset == 0 or offset == -4: offset = 5 if offset == 0 or offset == -4: offset = 5
else: offset == -4 else: offset = -4
allClassRunCounts[index] -= 1
if blockIndex >= 9:
blockIndex = 0
offset = 0
# Remove course when fully inserted # Remove course when fully inserted
if allClassRunCounts[index] == 0: if allClassRunCounts[index] == 0: