From d1f855d55b0fc3610831fbb563389eee8e056ff5 Mon Sep 17 00:00:00 2001 From: Joshua Herring Date: Thu, 16 Apr 2026 11:22:19 -0400 Subject: [PATCH] generate grades due --- grading_data_generator.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/grading_data_generator.go b/grading_data_generator.go index 6348ca7..cd0f084 100644 --- a/grading_data_generator.go +++ b/grading_data_generator.go @@ -8,6 +8,7 @@ import ( "math/rand" "os" "strings" + "time" "github.com/brianvoe/gofakeit/v6" ) @@ -502,6 +503,7 @@ type Section struct { Instructor string `json:"course_instructor"` CourseTitle string `json:"course_title"` CourseType string `json:"course_type"` + GradesDue string `json:"grades_due"` } type Config struct { @@ -599,6 +601,12 @@ func GenerateSectionData(config Config, users []User) []Section { sectionIDs := uniqueNumericStrings(5, config.NumberOfSections) + now := time.Now() + dueDates := []string{ + now.AddDate(0, 0, 7).Format("Monday 2 January 2006"), + now.AddDate(0, 1, 0).Format("Monday 2 January 2006"), + } + sections := make([]Section, config.NumberOfSections) for i := range sections { @@ -606,6 +614,7 @@ func GenerateSectionData(config Config, users []User) []Section { my_section.SectionID = sectionIDs[i] my_section.Instructor = instructorUIDs[rand.Intn(len(instructorUIDs))] my_section.CourseType = course_type[rand.Intn(len(course_type))] + my_section.GradesDue = dueDates[rand.Intn(len(dueDates))] sections[i] = my_section } @@ -622,11 +631,11 @@ func SaveGeneratedSections(sections []Section) { defer f.Close() w := csv.NewWriter(f) - if err := w.Write([]string{"section_id", "course_number", "course_instructor", "course_title", "course_type"}); err != nil { + if err := w.Write([]string{"section_id", "course_number", "course_instructor", "course_title", "course_type", "grades_due"}); err != nil { log.Fatalf("failed to write csv header: %v", err) } for _, s := range sections { - if err := w.Write([]string{s.SectionID, s.CourseNumber, s.Instructor, s.CourseTitle, s.CourseType}); err != nil { + if err := w.Write([]string{s.SectionID, s.CourseNumber, s.Instructor, s.CourseTitle, s.CourseType, s.GradesDue}); err != nil { log.Fatalf("failed to write csv row: %v", err) } }