From 4b54a301c9b881489ba931e901aa7000f65f5566 Mon Sep 17 00:00:00 2001 From: aynakeya Date: Mon, 29 Apr 2024 22:51:43 -0700 Subject: [PATCH] add api. fix kuwo --- api.go | 8 ++++++++ providers/kuwo/kuwo.go | 4 ++++ providers/kuwo/kuwo_test.go | 11 +++++++++++ 3 files changed, 23 insertions(+) diff --git a/api.go b/api.go index 6ac8877..faedc43 100644 --- a/api.go +++ b/api.go @@ -57,6 +57,14 @@ func MatchMedia(keyword string) (MetaData, bool) { return MetaData{}, false } +func MatchMediaByProvider(provider string, uri string) (MetaData, bool) { + p, ok := GetProvider(provider) + if !ok { + return MetaData{}, false + } + return p.MatchMedia(uri) +} + //func GetPlaylist(meta *model.Meta) ([]*model.Media, error) { // if v, ok := Providers[meta.Name]; ok { // return v.GetPlaylist(meta) diff --git a/providers/kuwo/kuwo.go b/providers/kuwo/kuwo.go index 5908071..a589d21 100644 --- a/providers/kuwo/kuwo.go +++ b/providers/kuwo/kuwo.go @@ -1,6 +1,7 @@ package kuwo import ( + "errors" "fmt" "github.com/AynaLivePlayer/miaosic" "github.com/AynaLivePlayer/miaosic/providers" @@ -77,6 +78,9 @@ func NewKuwo() *Kuwo { deepcolor.ParserGJson, func(resp *gjson.Result, urls *[]miaosic.MediaUrl) error { + if resp.Get("code").Int() != 200 { + return errors.New("miaosic: kuwo api error" + resp.Get("msg").String()) + } if resp.Get("data.url").String() == "" { return miaosic.ErrorExternalApi } diff --git a/providers/kuwo/kuwo_test.go b/providers/kuwo/kuwo_test.go index ceb71f6..d0cbd89 100644 --- a/providers/kuwo/kuwo_test.go +++ b/providers/kuwo/kuwo_test.go @@ -54,6 +54,17 @@ func TestKuwo_GetMusic(t *testing.T) { t.Log(urls) } +func TestKuwo_GetMusic2(t *testing.T) { + meta := miaosic.MetaData{ + Provider: api.GetName(), + Identifier: "6510096", + } + urls, err := api.GetMediaUrl(meta, miaosic.QualityAny) + require.NoError(t, err) + require.NotEmpty(t, urls) + t.Log(urls) +} + func TestKuwo_UpdateMediaLyric(t *testing.T) { meta := miaosic.MetaData{ Provider: api.GetName(),