From 28ed1183e40fbabe518f9ad911a464a3fbc24cb6 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Tue, 5 Dec 2023 08:17:46 +0100 Subject: [PATCH] Use fmt.Errorf, error strings should start lowercase --- internal/backends/backends.go | 6 ++---- internal/backends/backends_test.go | 4 ++-- internal/backends/lastfm/lastfm.go | 5 ++--- internal/backends/scrobblerlog/parser.go | 10 ++++------ 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/internal/backends/backends.go b/internal/backends/backends.go index 029cca7..02f29ae 100644 --- a/internal/backends/backends.go +++ b/internal/backends/backends.go @@ -17,7 +17,6 @@ Scotty. If not, see . package backends import ( - "errors" "fmt" "reflect" "strings" @@ -54,8 +53,7 @@ func ResolveBackend[T interface{}](config *viper.Viper) (T, error) { if implements { result = backend.(T) } else { - err = errors.New( - fmt.Sprintf("Backend %s does not implement %s", backendName, interfaceName)) + err = fmt.Errorf("backend %s does not implement %s", backendName, interfaceName) } return result, err @@ -93,7 +91,7 @@ func resolveBackend(config *viper.Viper) (string, models.Backend, error) { backendName := config.GetString("backend") backendType := knownBackends[backendName] if backendType == nil { - return backendName, nil, fmt.Errorf("Unknown backend %s", backendName) + return backendName, nil, fmt.Errorf("unknown backend %s", backendName) } return backendName, backendType().FromConfig(config), nil } diff --git a/internal/backends/backends_test.go b/internal/backends/backends_test.go index 1af09a4..5e64b0f 100644 --- a/internal/backends/backends_test.go +++ b/internal/backends/backends_test.go @@ -49,14 +49,14 @@ func TestResolveBackendUnknown(t *testing.T) { config := viper.New() config.Set("backend", "foo") _, err := backends.ResolveBackend[models.ListensImport](config) - assert.EqualError(t, err, "Unknown backend foo") + assert.EqualError(t, err, "unknown backend foo") } func TestResolveBackendInvalidInterface(t *testing.T) { config := viper.New() config.Set("backend", "dump") _, err := backends.ResolveBackend[models.ListensExport](config) - assert.EqualError(t, err, "Backend dump does not implement ListensExport") + assert.EqualError(t, err, "backend dump does not implement ListensExport") } func TestGetBackends(t *testing.T) { diff --git a/internal/backends/lastfm/lastfm.go b/internal/backends/lastfm/lastfm.go index d68ed6f..326be6e 100644 --- a/internal/backends/lastfm/lastfm.go +++ b/internal/backends/lastfm/lastfm.go @@ -16,7 +16,6 @@ Scotty. If not, see . package lastfm import ( - "errors" "fmt" "net/url" "sort" @@ -223,8 +222,8 @@ func (b *LastfmApiBackend) ImportListens(export models.ListensResult, importResu importResult.ImportErrors = append(importResult.ImportErrors, ignoreMsg) } } - errMsg := fmt.Sprintf("Last.fm import ignored %v scrobbles", count-accepted) - return importResult, errors.New(errMsg) + err := fmt.Errorf("last.fm import ignored %v scrobbles", count-accepted) + return importResult, err } importResult.UpdateTimestamp(listens[count-1].ListenedAt) diff --git a/internal/backends/scrobblerlog/parser.go b/internal/backends/scrobblerlog/parser.go index 8687c6a..a503d35 100644 --- a/internal/backends/scrobblerlog/parser.go +++ b/internal/backends/scrobblerlog/parser.go @@ -24,7 +24,6 @@ package scrobblerlog import ( "bufio" "encoding/csv" - "errors" "fmt" "io" "strconv" @@ -71,8 +70,7 @@ func Parse(data io.Reader, includeSkipped bool) (ScrobblerLog, error) { // We consider only the last field (recording MBID) optional if len(row) < 7 { line, _ := tsvReader.FieldPos(0) - return result, errors.New(fmt.Sprintf( - "Invalid record in scrobblerlog line %v", line)) + return result, fmt.Errorf("invalid record in scrobblerlog line %v", line) } rating := row[5] @@ -132,15 +130,15 @@ func ReadHeader(reader *bufio.Reader, log *ScrobblerLog) error { } if len(line) == 0 || line[0] != '#' { - err = errors.New(fmt.Sprintf("Unexpected header (line %v)", i)) + err = fmt.Errorf("unexpected header (line %v)", i) } else { text := string(line) if i == 0 && !strings.HasPrefix(text, "#AUDIOSCROBBLER/1") { - err = errors.New(fmt.Sprintf("Not a scrobbler log file")) + err = fmt.Errorf("not a scrobbler log file") } timezone, found := strings.CutPrefix(text, "#TZ/") - if strings.HasPrefix(text, "#TZ/") { + if found { log.Timezone = timezone }