diff --git a/internal/backends/jspf/jspf.go b/internal/backends/jspf/jspf.go index b87b86a..b73b4b1 100644 --- a/internal/backends/jspf/jspf.go +++ b/internal/backends/jspf/jspf.go @@ -62,10 +62,7 @@ func (b *JSPFBackend) Options() []models.BackendOption { func (b *JSPFBackend) FromConfig(config *config.ServiceConfig) models.Backend { b.filePath = config.GetString("file-path") - b.append = true - if config.IsSet("append") { - b.append = config.GetBool("append") - } + b.append = config.GetBool("append", true) b.playlist = jspf.Playlist{ Title: config.GetString("title"), Creator: config.GetString("username"), diff --git a/internal/backends/maloja/maloja.go b/internal/backends/maloja/maloja.go index 9c91115..135bef3 100644 --- a/internal/backends/maloja/maloja.go +++ b/internal/backends/maloja/maloja.go @@ -56,7 +56,7 @@ func (b *MalojaApiBackend) FromConfig(config *config.ServiceConfig) models.Backe config.GetString("server-url"), config.GetString("token"), ) - b.nofix = config.GetBool("nofix") + b.nofix = config.GetBool("nofix", false) return b } diff --git a/internal/backends/scrobblerlog/scrobblerlog.go b/internal/backends/scrobblerlog/scrobblerlog.go index 09f081f..84cae88 100644 --- a/internal/backends/scrobblerlog/scrobblerlog.go +++ b/internal/backends/scrobblerlog/scrobblerlog.go @@ -56,11 +56,8 @@ func (b *ScrobblerLogBackend) Options() []models.BackendOption { func (b *ScrobblerLogBackend) FromConfig(config *config.ServiceConfig) models.Backend { b.filePath = config.GetString("file-path") - b.includeSkipped = config.GetBool("include-skipped") - b.append = true - if config.IsSet("append") { - b.append = config.GetBool("append") - } + b.includeSkipped = config.GetBool("include-skipped", false) + b.append = config.GetBool("append", true) b.log = ScrobblerLog{ Timezone: "UNKNOWN", Client: "Rockbox unknown $Revision$", diff --git a/internal/config/services.go b/internal/config/services.go index 783adc4..7c8bdb6 100644 --- a/internal/config/services.go +++ b/internal/config/services.go @@ -54,8 +54,12 @@ func (c *ServiceConfig) GetString(key string) string { return cast.ToString(c.ConfigValues[key]) } -func (c *ServiceConfig) GetBool(key string) bool { - return cast.ToBool(c.ConfigValues[key]) +func (c *ServiceConfig) GetBool(key string, defaultValue bool) bool { + if c.IsSet(key) { + return cast.ToBool(c.ConfigValues[key]) + } else { + return defaultValue + } } func (c *ServiceConfig) IsSet(key string) bool {