aboutsummaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2021-10-17 13:55:11 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2021-10-17 13:55:11 +0200
commit34ad9211ca90fb079e77bbf0640021b3b7aa0f4e (patch)
tree1af239393b8940866c5cfd6505ca8d7e6c1f3f15 /pkg
parent5b7263578b7c040830152f2226708212d48d68ef (diff)
downloadfeed2imap-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 'pkg')
-rw-r--r--pkg/config/config.go8
-rw-r--r--pkg/config/url.go4
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