54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package report
|
|
|
|
import (
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/module"
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/timeutil"
|
|
)
|
|
|
|
func todayDefinition() Definition {
|
|
return Definition{
|
|
ID: Today,
|
|
Name: "Today Report",
|
|
PromptID: "weather.today_generated_text",
|
|
PromptVersion: "2.0.0",
|
|
TemplateID: "today",
|
|
GeneratedTextSchemaID: "today",
|
|
ArtifactGroup: "today",
|
|
OutputName: "today.md",
|
|
DistributorPathTemplates: []string{
|
|
"daily/{valid_start_date}/{run_id}.md",
|
|
"daily/{valid_start_date}/index.md",
|
|
"today/index.md",
|
|
},
|
|
Modules: todayModules(),
|
|
Morning: true,
|
|
resolve: resolveToday,
|
|
}
|
|
}
|
|
|
|
func todayModules() []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.HourlyForecast,
|
|
module.TodayPlanning,
|
|
)
|
|
}
|
|
|
|
func resolveToday(req ResolveRequest) (timeutil.Period, error) {
|
|
if !req.Date.IsZero() {
|
|
return timeutil.CivilDay(req.Date, req.Location), nil
|
|
}
|
|
return timeutil.CivilDay(req.Now, req.Location), nil
|
|
}
|