chore: updated regex for weather condition parsing a1ac9a11
Steve · 2026-06-07 20:58 1 file(s) · +4 −2
apps/posts/util.go +4 −2
359 359
360 360
var weatherClient = &http.Client{Timeout: 10 * time.Second}
361 361
362 -
var qualifierRE = regexp.MustCompile(`(?i)^(slight chance|chance|isolated|scattered|patchy|areas)\s+(of\s+)?`)
362 +
var qualifierRE = regexp.MustCompile(`(?i)^(slight chance|chance|isolated|scattered|numerous|widespread|patchy|areas|periods|occasional|frequent)\s+(of\s+)?`)
363 +
var trailingQualifierRE = regexp.MustCompile(`(?i)\s+(likely)$`)
363 364
364 365
func getWeather(location string) string {
365 366
	if location == "" {
400 401
	}
401 402
	period := weatherForecast.Properties.Periods[0]
402 403
	temp := strconv.Itoa(period.Temperature)
403 -
	formattedConditions := strings.TrimSpace(qualifierRE.ReplaceAllString(period.ShortForecast, ""))
404 +
	stripped := qualifierRE.ReplaceAllString(period.ShortForecast, "")
405 +
	formattedConditions := strings.TrimSpace(trailingQualifierRE.ReplaceAllString(stripped, ""))
404 406
	weather := fmt.Sprintf("%s,%s,%s,%s", formattedConditions, temp, city, state)
405 407
	return weather
406 408
}