diff --git a/internal/plugin/interface.go b/internal/plugin/interface.go index 42dd061..95c91c8 100644 --- a/internal/plugin/interface.go +++ b/internal/plugin/interface.go @@ -142,11 +142,15 @@ func Fetch(source data.Source) (data.MusicObject, error) { return nil, nil } -func Search(search string) ([]data.MusicObject, error) { +type SearchConfig struct { + IgnoreErrors bool +} + +func Search(search string, config SearchConfig) ([]data.MusicObject, error) { query, err := common.NewQuery(search) res := []data.MusicObject{} - if err != nil { + if err != nil && !config.IgnoreErrors { return res, err } @@ -154,7 +158,7 @@ func Search(search string) ([]data.MusicObject, error) { s, err := plugin.Search(query) res = append(res, s...) - if err != nil { + if err != nil && !config.IgnoreErrors { return res, err } }