From a95d839a1c8cb4e1639cfeaad212cb57649e88cd Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Wed, 29 Jun 2022 15:15:39 -0700 Subject: [PATCH] cleaner code/better comments --- scheduleGenerator/generator.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/scheduleGenerator/generator.py b/scheduleGenerator/generator.py index d6097f1..1d31a74 100644 --- a/scheduleGenerator/generator.py +++ b/scheduleGenerator/generator.py @@ -8,7 +8,6 @@ from string import hexdigits from util.mockStudents import getSampleStudents from util.generateCourses import getSampleCourses - ''' Block 1-5 is first semester while block 6-10 is second semester @@ -271,8 +270,7 @@ def generateScheduleV3( # Return Error if code is altered to cause error else: raise SystemExit(f"Invalid 'stepType' in func 'stepIndex' line {getLineNumber()}") - # Create copies for step 6 - allClassRunCountsCopy = list(allClassRunCounts) + # Create copy for step 6 courseRunInfoCopy = dict(courseRunInfo) while len(allClassRunCounts) > 0: @@ -389,25 +387,25 @@ def generateScheduleV3( } if hasConflicts: + # Clear student schedule for block in student["schedule"]: [running[block][cname]["students"].remove(studentData) for cname in student["schedule"][block]] student["schedule"][block] = [] # Find what class in student schedule has least run time - classes = [] - runCounts = [] + classes, runCounts = [], [] for block in blocks: for cname in block: classes.append(cname[:-2]) runCounts.append(courseRunInfoCopy[cname[:-2]]["Total"]) + # Rebuild student schedule availableBlocks = [f'block{i}' for i in range(1, 11)] while len(classes) > 0: index = runCounts.index(min(runCounts)) # Get class least run - found = False - # Rebuild student schedule + # find slot for class for block in availableBlocks: if found: break for cname in running[block]: