Write reports to operator-selected outputs
This commit is contained in:
@@ -42,7 +42,7 @@ type Definition struct {
|
||||
GeneratedTextSchemaID string
|
||||
ComparisonStrategy ComparisonStrategy
|
||||
ArtifactGroup string
|
||||
BatchOutputName string
|
||||
OutputName string
|
||||
DistributorPathTemplates []string
|
||||
CompatiblePriorIDs []ID
|
||||
Modules []module.ConfigItem
|
||||
@@ -52,6 +52,23 @@ type Definition struct {
|
||||
runIDDisambiguator func(Resolved) string
|
||||
}
|
||||
|
||||
func (r Resolved) OutputName() (string, error) {
|
||||
if r.Definition.ID == Daily {
|
||||
if r.ValidPeriod.Start.IsZero() {
|
||||
return "", fmt.Errorf("daily report has no valid-period start for output naming")
|
||||
}
|
||||
location, err := timeutil.LoadLocation(r.Timezone)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("load report timezone for output naming: %w", err)
|
||||
}
|
||||
return "daily-" + r.ValidPeriod.Start.In(location).Format(timeutil.DateLayout) + ".md", nil
|
||||
}
|
||||
if r.Definition.OutputName == "" {
|
||||
return "", fmt.Errorf("report %q has no output name", r.Definition.ID)
|
||||
}
|
||||
return r.Definition.OutputName, nil
|
||||
}
|
||||
|
||||
func (d Definition) ResolvePeriod(req ResolveRequest) (timeutil.Period, error) {
|
||||
if d.resolve == nil {
|
||||
return timeutil.Period{}, fmt.Errorf("report %q has no valid-period resolver", d.ID)
|
||||
|
||||
Reference in New Issue
Block a user