Update upstream weatherapi alert handling

This commit is contained in:
2026-06-16 20:34:01 -05:00
parent b36e198bfe
commit 21a7748b2c
3 changed files with 89 additions and 7 deletions

View File

@@ -490,12 +490,16 @@ func parseAlert(raw json.RawMessage) (parsedAlert, bool) {
Severity: stringField(fields, "severity"),
Description: firstStringField(fields, "description", "instruction"),
}
start, startOK := firstTimeField(fields, "effective", "onset", "startsAt", "startTime", "sent")
end, endOK := firstTimeField(fields, "expires", "ends", "endsAt", "endTime")
start, startOK := firstTimeField(fields, "onset", "startsAt", "startTime", "effective", "sent")
end, endOK := firstTimeField(fields, "ends", "endsAt", "endTime", "expires")
if !startOK || !endOK {
return parsedAlert{}, false
}
alert.Period = timeutil.Period{Start: start, End: end}
period := timeutil.Period{Start: start, End: end}
if !period.IsValid() {
return parsedAlert{}, false
}
alert.Period = period
return alert, true
}