refactored search
This commit is contained in:
parent
b2a0fb6952
commit
99198c9487
@ -4,6 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
|
"gitea.elara.ws/Hazel/music-kraken/internal/common"
|
||||||
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -14,7 +15,7 @@ type Plugin interface {
|
|||||||
RegexAlbum() *regexp.Regexp
|
RegexAlbum() *regexp.Regexp
|
||||||
RegexSong() *regexp.Regexp
|
RegexSong() *regexp.Regexp
|
||||||
|
|
||||||
Search(query string) ([]data.MusicObject, error)
|
Search(query common.Query) ([]data.MusicObject, error)
|
||||||
|
|
||||||
FetchArtist(source data.Source) (data.Artist, error)
|
FetchArtist(source data.Source) (data.Artist, error)
|
||||||
FetchAlbum(source data.Source) (data.Album, error)
|
FetchAlbum(source data.Source) (data.Album, error)
|
||||||
@ -141,6 +142,22 @@ func Fetch(source data.Source) (data.MusicObject, error) {
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Search(q string) {
|
func Search(search string) ([]data.MusicObject, error) {
|
||||||
|
query, err := common.NewQuery(search)
|
||||||
|
|
||||||
|
res := []data.MusicObject{}
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, plugin := range namePlugins {
|
||||||
|
s, err := plugin.Search(query)
|
||||||
|
res = append(res, s)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"gitea.elara.ws/Hazel/music-kraken/internal/common"
|
||||||
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -56,6 +57,6 @@ func (m Musify) FetchArtist(source data.Source) (data.Artist, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Musify) Search(query string) ([]data.MusicObject, error) {
|
func (m Musify) Search(query common.Query) ([]data.MusicObject, error) {
|
||||||
panic("unimplemented")
|
panic("unimplemented")
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"gitea.elara.ws/Hazel/music-kraken/internal/common"
|
||||||
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ func (m MusifyTest) FetchArtist(source data.Source) (data.Artist, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m MusifyTest) Search(query string) ([]data.MusicObject, error) {
|
func (m MusifyTest) Search(query common.Query) ([]data.MusicObject, error) {
|
||||||
panic("unimplemented")
|
panic("unimplemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ package plugin
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
|
"gitea.elara.ws/Hazel/music-kraken/internal/common"
|
||||||
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -41,6 +42,6 @@ func (m Youtube) FetchSong(source data.Source) (data.Song, error) {
|
|||||||
panic("unimplemented")
|
panic("unimplemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Youtube) Search(query string) ([]data.MusicObject, error) {
|
func (m Youtube) Search(query common.Query) ([]data.MusicObject, error) {
|
||||||
panic("unimplemented")
|
panic("unimplemented")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user