diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2021-10-17 13:55:11 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2021-10-17 13:55:11 +0200 |
commit | 34ad9211ca90fb079e77bbf0640021b3b7aa0f4e (patch) | |
tree | 1af239393b8940866c5cfd6505ca8d7e6c1f3f15 /pkg | |
parent | 5b7263578b7c040830152f2226708212d48d68ef (diff) | |
download | feed2imap-go-34ad9211ca90fb079e77bbf0640021b3b7aa0f4e.tar.gz feed2imap-go-34ad9211ca90fb079e77bbf0640021b3b7aa0f4e.tar.bz2 feed2imap-go-34ad9211ca90fb079e77bbf0640021b3b7aa0f4e.zip |
#62: Ensure that, with empty roots, there still remains a storage location
Diffstat (limited to '')
-rw-r--r-- | pkg/config/config.go | 8 | ||||
-rw-r--r-- | pkg/config/url.go | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/pkg/config/config.go b/pkg/config/config.go index 32f4a71..218ccb3 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -91,6 +91,14 @@ func (cfg *Config) Validate() error { } } + if cfg.Target.EmptyRoot() { + for _, feed := range cfg.Feeds { + if len(feed.Target) == 0 { + return fmt.Errorf("Feed %s: No storage location (target) defined.", feed.Name) + } + } + } + return nil } diff --git a/pkg/config/url.go b/pkg/config/url.go index 06796a2..9621672 100644 --- a/pkg/config/url.go +++ b/pkg/config/url.go @@ -21,6 +21,10 @@ func (u *Url) Empty() bool { return u.Host == "" } +func (u *Url) EmptyRoot() bool { + return u.Root == "" || u.Root == "/" +} + func (u *Url) UnmarshalYAML(value *yaml.Node) (err error) { if value.ShortTag() == strTag { var val string |