diff --git a/internal/plugin/interface.go b/internal/plugin/interface.go index 02f389a..f5effd7 100644 --- a/internal/plugin/interface.go +++ b/internal/plugin/interface.go @@ -15,7 +15,7 @@ type Plugin interface { RegexAlbum() *regexp.Regexp RegexSong() *regexp.Regexp - Init() + Init(data.SourceType) Search(query common.Query) ([]data.MusicObject, error) @@ -44,7 +44,7 @@ func RegisterPlugin(plugin Plugin) error { namePlugins[name] = plugin - plugin.Init() + plugin.Init(NameSourceType[name]) return nil } diff --git a/internal/plugin/musify.go b/internal/plugin/musify.go index 27163a1..3941f77 100644 --- a/internal/plugin/musify.go +++ b/internal/plugin/musify.go @@ -22,7 +22,8 @@ func extractName(s string) string { const musifyHost = "https://musify.club" type Musify struct { - session *scraper.Session + session *scraper.Session + sourceType data.SourceType } func (m Musify) Name() string { @@ -41,8 +42,9 @@ func (m Musify) RegexAlbum() *regexp.Regexp { return regexp.MustCompile(`(?i)https?://musify\.club/release/[a-z\-0-9]+`) } -func (m *Musify) Init() { +func (m *Musify) Init(sourceType data.SourceType) { m.session = scraper.NewSession() + m.sourceType = sourceType } func (m Musify) RegexSong() *regexp.Regexp { diff --git a/internal/plugin/plugin_test.go b/internal/plugin/plugin_test.go index 2850db1..1b2bb63 100644 --- a/internal/plugin/plugin_test.go +++ b/internal/plugin/plugin_test.go @@ -40,7 +40,7 @@ func (m MusifyTest) RegexSong() *regexp.Regexp { return regexp.MustCompile(`(?i)https?://musify\.club/track/[a-z\-0-9]+`) } -func (m *MusifyTest) Init() { +func (m *MusifyTest) Init(sourceType data.SourceType) { }