From dbaed5d10b9bde8e3edf19856e786b9328c632ab Mon Sep 17 00:00:00 2001 From: Joshua Herring Date: Sun, 19 Apr 2026 14:46:03 -0400 Subject: [PATCH] generate some balanced stage assignments for sections --- grading_data_generator.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/grading_data_generator.go b/grading_data_generator.go index 7417899..f5fdd32 100644 --- a/grading_data_generator.go +++ b/grading_data_generator.go @@ -608,15 +608,23 @@ func GenerateSectionData(config Config, users []User) []Section { now.AddDate(0, 1, 0).Format("Monday 2 January 2006"), } + stage_types := []any{"prelim", "name", "pass_fail"} + stage_weights := []float32{80,10,10} + + sections := make([]Section, config.NumberOfSections) for i := range sections { + mystage, e := gofakeit.Weighted(stage_types, stage_weights) + if e != nil { + log.Fatalf("Error generating a stage: %s\n", e) + } my_section := course_information[rand.Intn(len(course_information))] my_section.SectionID = sectionIDs[i] my_section.Instructor = instructorUIDs[rand.Intn(len(instructorUIDs))] my_section.CourseType = "default" my_section.GradesDue = dueDates[rand.Intn(len(dueDates))] - my_section.Stage = "prelim" + my_section.Stage = mystage.(string) sections[i] = my_section }