🐛 Verify valid shows.yml
Fix nil pointer derference
This commit is contained in:
parent
dc9e6f59db
commit
5fb296c176
1 changed files with 19 additions and 7 deletions
|
|
@ -18,6 +18,14 @@ import (
|
|||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
type ShowWalker func(show *Show, path string) error
|
||||
type GroupPrinter func(name string, group Shows)
|
||||
|
||||
var ErrNoFiles = errors.New("no files processed")
|
||||
var ErrSkipped = errors.New("skipped")
|
||||
var ErrMissingConfig = errors.New("missing config")
|
||||
var ErrMissingShows = errors.New("missing shows")
|
||||
|
||||
func NewData(path string) (*Data, error) {
|
||||
//nolint:gosec // I don't care if this is user input
|
||||
f, err := os.Open(path)
|
||||
|
|
@ -27,7 +35,17 @@ func NewData(path string) (*Data, error) {
|
|||
ydec := yaml.NewDecoder(f)
|
||||
var data Data
|
||||
err = ydec.Decode(&data)
|
||||
return &data, err
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if data.Config == nil {
|
||||
return nil, ErrMissingConfig
|
||||
}
|
||||
if data.Shows == nil || len(*(data.Shows)) == 0 {
|
||||
return nil, ErrMissingShows
|
||||
}
|
||||
return &data, nil
|
||||
}
|
||||
|
||||
func ensureExtRe(c *Config) (err error) {
|
||||
|
|
@ -38,12 +56,6 @@ func ensureExtRe(c *Config) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
type ShowWalker func(show *Show, path string) error
|
||||
type GroupPrinter func(name string, group Shows)
|
||||
|
||||
var ErrNoFiles = errors.New("no files processed")
|
||||
var ErrSkipped = errors.New("skipped")
|
||||
|
||||
type processInput struct {
|
||||
file os.DirEntry
|
||||
source string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue