From d90801cff5d6129313e6fd428e0539c6ab3ec011 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Tue, 16 Jun 2026 08:17:25 -0500 Subject: [PATCH] Separate the daily report and tomorrow report definitions --- internal/report/daily_report.go | 42 -------------------------- internal/report/tomorrow_report.go | 48 ++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 internal/report/tomorrow_report.go diff --git a/internal/report/daily_report.go b/internal/report/daily_report.go index 39c95e5..de57f9f 100644 --- a/internal/report/daily_report.go +++ b/internal/report/daily_report.go @@ -25,25 +25,6 @@ func dailyDefinition() Definition { } } -func tomorrowDefinition() Definition { - return Definition{ - ID: Tomorrow, - Name: "Tomorrow Report", - PromptID: "weather.tomorrow_generated_text", - GenerationMode: GenerationModeGeneratedTextTemplate, - TemplateID: "tomorrow", - GeneratedTextSchemaID: "tomorrow", - ComparisonStrategy: CompareSameValidDate, - ArtifactGroup: "tomorrow", - BatchOutputName: "tomorrow.md", - Generated: true, - CompatiblePriorIDs: []ID{Tomorrow}, - Modules: tomorrowModules(), - Evening: true, - resolve: resolveTomorrow, - } -} - func dailyModules() []module.ConfigItem { return moduleItems( module.Metadata, @@ -63,32 +44,9 @@ func dailyModules() []module.ConfigItem { ) } -func tomorrowModules() []module.ConfigItem { - return moduleItems( - module.Metadata, - module.CurrentConditions, - module.NarrativeForecast, - module.DerivedDailySummary, - module.DerivedDaypartSummaries, - module.PrecipTiming, - module.AlertDigest, - module.SPCConvectiveOutlooks, - module.AreaForecastDiscussion, - module.SPCConvectiveDiscussion, - module.WeatherStory, - module.OutdoorWindows, - module.TomorrowPlanning, - module.HourlyForecast, - ) -} - func resolveDaily(req ResolveRequest) (timeutil.Period, error) { if req.Date.IsZero() { return timeutil.Period{}, fmt.Errorf("daily report requires an explicit date") } return timeutil.CivilDay(req.Date, req.Location), nil } - -func resolveTomorrow(req ResolveRequest) (timeutil.Period, error) { - return timeutil.CivilDay(req.Now.In(req.Location).AddDate(0, 0, 1), req.Location), nil -} diff --git a/internal/report/tomorrow_report.go b/internal/report/tomorrow_report.go new file mode 100644 index 0000000..9ff0934 --- /dev/null +++ b/internal/report/tomorrow_report.go @@ -0,0 +1,48 @@ +package report + +import ( + "gitea.maximumdirect.net/eric/weatherreporter/internal/module" + "gitea.maximumdirect.net/eric/weatherreporter/internal/timeutil" +) + +func tomorrowDefinition() Definition { + return Definition{ + ID: Tomorrow, + Name: "Tomorrow Report", + PromptID: "weather.tomorrow_generated_text", + GenerationMode: GenerationModeGeneratedTextTemplate, + TemplateID: "tomorrow", + GeneratedTextSchemaID: "tomorrow", + ComparisonStrategy: CompareSameValidDate, + ArtifactGroup: "tomorrow", + BatchOutputName: "tomorrow.md", + Generated: true, + CompatiblePriorIDs: []ID{Tomorrow}, + Modules: tomorrowModules(), + Evening: true, + resolve: resolveTomorrow, + } +} + +func tomorrowModules() []module.ConfigItem { + return moduleItems( + module.Metadata, + module.CurrentConditions, + module.NarrativeForecast, + module.DerivedDailySummary, + module.DerivedDaypartSummaries, + module.PrecipTiming, + module.AlertDigest, + module.SPCConvectiveOutlooks, + module.AreaForecastDiscussion, + module.SPCConvectiveDiscussion, + module.WeatherStory, + module.OutdoorWindows, + module.TomorrowPlanning, + module.HourlyForecast, + ) +} + +func resolveTomorrow(req ResolveRequest) (timeutil.Period, error) { + return timeutil.CivilDay(req.Now.In(req.Location).AddDate(0, 0, 1), req.Location), nil +}