Filter routine upcoming categories
This commit is contained in:
@@ -571,6 +571,9 @@ func filterUpcomingAssignments(assignments []Assignment, now time.Time, days int
|
|||||||
var filtered []Assignment
|
var filtered []Assignment
|
||||||
for _, assignment := range assignments {
|
for _, assignment := range assignments {
|
||||||
if !assignment.DueDate.Before(start) && !assignment.DueDate.After(end) {
|
if !assignment.DueDate.Before(start) && !assignment.DueDate.After(end) {
|
||||||
|
if isExcludedUpcomingAssignment(assignment) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
filtered = append(filtered, assignment)
|
filtered = append(filtered, assignment)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -737,6 +740,15 @@ func isRevisionStatus(status string) bool {
|
|||||||
return strings.Contains(status, "revision") || strings.Contains(status, "revise")
|
return strings.Contains(status, "revision") || strings.Contains(status, "revise")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isExcludedUpcomingAssignment(assignment Assignment) bool {
|
||||||
|
category := strings.ToLower(strings.TrimSpace(assignment.Category))
|
||||||
|
title := strings.ToLower(strings.TrimSpace(assignment.Title))
|
||||||
|
if strings.Contains(category, "preparedness") || strings.Contains(title, "preparedness") {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return strings.Contains(category, "r.i.c.e")
|
||||||
|
}
|
||||||
|
|
||||||
func inferAssignmentDate(monthDay string, now time.Time) time.Time {
|
func inferAssignmentDate(monthDay string, now time.Time) time.Time {
|
||||||
return inferDate(monthDay, now, false)
|
return inferDate(monthDay, now, false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ func TestFilterUpcomingAssignments(t *testing.T) {
|
|||||||
assignments := []Assignment{
|
assignments := []Assignment{
|
||||||
{DueDate: time.Date(2026, 3, 29, 0, 0, 0, 0, time.UTC), Title: "Soon"},
|
{DueDate: time.Date(2026, 3, 29, 0, 0, 0, 0, time.UTC), Title: "Soon"},
|
||||||
{DueDate: time.Date(2026, 4, 20, 0, 0, 0, 0, time.UTC), Title: "Later"},
|
{DueDate: time.Date(2026, 4, 20, 0, 0, 0, 0, time.UTC), Title: "Later"},
|
||||||
|
{DueDate: time.Date(2026, 3, 30, 0, 0, 0, 0, time.UTC), Title: "Preparedness", Category: "Preparedness"},
|
||||||
|
{DueDate: time.Date(2026, 3, 31, 0, 0, 0, 0, time.UTC), Title: "Weekly assessment", Category: "R.I.C.E. (weekly assessment)"},
|
||||||
}
|
}
|
||||||
got := filterUpcomingAssignments(assignments, now, 14)
|
got := filterUpcomingAssignments(assignments, now, 14)
|
||||||
if len(got) != 1 || got[0].Title != "Soon" {
|
if len(got) != 1 || got[0].Title != "Soon" {
|
||||||
|
|||||||
Reference in New Issue
Block a user