Separate the daily report and tomorrow report definitions
This commit is contained in:
@@ -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 {
|
func dailyModules() []module.ConfigItem {
|
||||||
return moduleItems(
|
return moduleItems(
|
||||||
module.Metadata,
|
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) {
|
func resolveDaily(req ResolveRequest) (timeutil.Period, error) {
|
||||||
if req.Date.IsZero() {
|
if req.Date.IsZero() {
|
||||||
return timeutil.Period{}, fmt.Errorf("daily report requires an explicit date")
|
return timeutil.Period{}, fmt.Errorf("daily report requires an explicit date")
|
||||||
}
|
}
|
||||||
return timeutil.CivilDay(req.Date, req.Location), nil
|
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
|
|
||||||
}
|
|
||||||
|
|||||||
48
internal/report/tomorrow_report.go
Normal file
48
internal/report/tomorrow_report.go
Normal file
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user