🐛 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"
|
"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) {
|
func NewData(path string) (*Data, error) {
|
||||||
//nolint:gosec // I don't care if this is user input
|
//nolint:gosec // I don't care if this is user input
|
||||||
f, err := os.Open(path)
|
f, err := os.Open(path)
|
||||||
|
|
@ -27,7 +35,17 @@ func NewData(path string) (*Data, error) {
|
||||||
ydec := yaml.NewDecoder(f)
|
ydec := yaml.NewDecoder(f)
|
||||||
var data Data
|
var data Data
|
||||||
err = ydec.Decode(&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) {
|
func ensureExtRe(c *Config) (err error) {
|
||||||
|
|
@ -38,12 +56,6 @@ func ensureExtRe(c *Config) (err error) {
|
||||||
return
|
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 {
|
type processInput struct {
|
||||||
file os.DirEntry
|
file os.DirEntry
|
||||||
source string
|
source string
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue