From ee87ff3f7be5d1e190b084d10b913d165b7d494d Mon Sep 17 00:00:00 2001 From: aynakeya Date: Tue, 9 Apr 2024 05:33:38 -0700 Subject: [PATCH] update package name --- api.go | 24 ++++++++++++++++++++++++ go.mod | 2 +- miaosic.go | 19 ++++++++++++++++++- providers/bilibili/bilibili.go | 4 ++-- providers/bilibili/bilibili_test.go | 2 +- providers/bilibili/init.go | 2 +- providers/bilibili/playlist.go | 2 +- providers/bilivideo/bilivideo.go | 4 ++-- providers/bilivideo/bilivideo_test.go | 2 +- providers/bilivideo/init.go | 7 +++++++ providers/bilivideo/playlist.go | 2 +- providers/kuwo/init.go | 7 +++++++ providers/kuwo/kuwo.go | 4 ++-- providers/kuwo/kuwo_test.go | 2 +- providers/kuwo/playlist.go | 2 +- providers/local/local.go | 2 +- providers/local/local_helper.go | 2 +- providers/local/local_test.go | 2 +- providers/local/playlist.go | 11 +++++++++++ providers/netease/init.go | 2 +- providers/netease/login.go | 2 +- providers/netease/media.go | 2 +- providers/netease/media_test.go | 2 +- providers/netease/playlist.go | 2 +- providers/providers.go | 2 +- 25 files changed, 90 insertions(+), 24 deletions(-) create mode 100644 providers/bilivideo/init.go create mode 100644 providers/kuwo/init.go create mode 100644 providers/local/playlist.go diff --git a/api.go b/api.go index a43e7fa..b224b6f 100644 --- a/api.go +++ b/api.go @@ -1,5 +1,29 @@ package miaosic +func SearchByProvider(provider string, keyword string, page, size int) ([]MediaInfo, error) { + p, ok := GetProvider(provider) + if !ok { + return nil, ErrorNoSuchProvider + } + return p.Search(keyword, page, size) +} + +func GetMediaUrl(meta MetaData, quality Quality) ([]MediaUrl, error) { + provider, ok := GetProvider(meta.Provider) + if !ok { + return nil, ErrorNoSuchProvider + } + return provider.GetMediaUrl(meta, quality) +} + +func GetMediaInfo(meta MetaData) (MediaInfo, error) { + provider, ok := GetProvider(meta.Provider) + if !ok { + return MediaInfo{}, ErrorNoSuchProvider + } + return provider.GetMediaInfo(meta) +} + //func GetPlaylist(meta *model.Meta) ([]*model.Media, error) { // if v, ok := Providers[meta.Name]; ok { // return v.GetPlaylist(meta) diff --git a/go.mod b/go.mod index 5fc5ea1..b8e1d07 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module miaosic +module github.com/AynaLivePlayer/miaosic go 1.20 diff --git a/miaosic.go b/miaosic.go index ddd0222..1218e72 100644 --- a/miaosic.go +++ b/miaosic.go @@ -60,10 +60,27 @@ type MediaInfo struct { type Playlist struct { Title string - Medias []*MediaInfo + Medias []MediaInfo Meta MetaData } +func (p *Playlist) DisplayName() string { + if p.Title != "" { + return p.Title + } + return p.Meta.ID() +} + +func (p *Playlist) Copy() Playlist { + medias := make([]MediaInfo, len(p.Medias)) + copy(medias, p.Medias) + return Playlist{ + Title: p.Title, + Medias: medias, + Meta: p.Meta, + } +} + type MediaProvider interface { // GetName returns the name of the provider. GetName() string diff --git a/providers/bilibili/bilibili.go b/providers/bilibili/bilibili.go index 8821c9c..7ceedda 100644 --- a/providers/bilibili/bilibili.go +++ b/providers/bilibili/bilibili.go @@ -1,11 +1,11 @@ package bilibili import ( + "github.com/AynaLivePlayer/miaosic" + "github.com/AynaLivePlayer/miaosic/providers" "github.com/aynakeya/deepcolor" "github.com/aynakeya/deepcolor/dphttp" "github.com/tidwall/gjson" - "miaosic" - "miaosic/providers" "regexp" ) diff --git a/providers/bilibili/bilibili_test.go b/providers/bilibili/bilibili_test.go index b11ae33..2fd602a 100644 --- a/providers/bilibili/bilibili_test.go +++ b/providers/bilibili/bilibili_test.go @@ -1,8 +1,8 @@ package bilibili import ( + "github.com/AynaLivePlayer/miaosic" "github.com/stretchr/testify/require" - "miaosic" "testing" ) diff --git a/providers/bilibili/init.go b/providers/bilibili/init.go index 624e6c1..7439217 100644 --- a/providers/bilibili/init.go +++ b/providers/bilibili/init.go @@ -1,7 +1,7 @@ package bilibili import ( - "miaosic" + "github.com/AynaLivePlayer/miaosic" ) func init() { diff --git a/providers/bilibili/playlist.go b/providers/bilibili/playlist.go index de7399a..7176070 100644 --- a/providers/bilibili/playlist.go +++ b/providers/bilibili/playlist.go @@ -1,6 +1,6 @@ package bilibili -import "miaosic" +import "github.com/AynaLivePlayer/miaosic" func (n *Bilibili) MatchPlaylist(uri string) (miaosic.MetaData, bool) { return miaosic.MetaData{}, false diff --git a/providers/bilivideo/bilivideo.go b/providers/bilivideo/bilivideo.go index cf18af2..d8fa9b8 100644 --- a/providers/bilivideo/bilivideo.go +++ b/providers/bilivideo/bilivideo.go @@ -3,13 +3,13 @@ package bilivideo import ( "errors" "fmt" + "github.com/AynaLivePlayer/miaosic" + "github.com/AynaLivePlayer/miaosic/providers" "github.com/aynakeya/deepcolor" "github.com/aynakeya/deepcolor/dphttp" "github.com/jinzhu/copier" "github.com/spf13/cast" "github.com/tidwall/gjson" - "miaosic" - "miaosic/providers" "regexp" ) diff --git a/providers/bilivideo/bilivideo_test.go b/providers/bilivideo/bilivideo_test.go index c334ddc..816d321 100644 --- a/providers/bilivideo/bilivideo_test.go +++ b/providers/bilivideo/bilivideo_test.go @@ -1,9 +1,9 @@ package bilivideo import ( + "github.com/AynaLivePlayer/miaosic" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "miaosic" "regexp" "strings" "testing" diff --git a/providers/bilivideo/init.go b/providers/bilivideo/init.go new file mode 100644 index 0000000..292d77b --- /dev/null +++ b/providers/bilivideo/init.go @@ -0,0 +1,7 @@ +package bilivideo + +import "github.com/AynaLivePlayer/miaosic" + +func init() { + miaosic.RegisterProvider(NewBilibiliViedo()) +} diff --git a/providers/bilivideo/playlist.go b/providers/bilivideo/playlist.go index e98b2fd..2b61a2f 100644 --- a/providers/bilivideo/playlist.go +++ b/providers/bilivideo/playlist.go @@ -1,6 +1,6 @@ package bilivideo -import "miaosic" +import "github.com/AynaLivePlayer/miaosic" func (n *BilibiliVideo) MatchPlaylist(uri string) (miaosic.MetaData, bool) { return miaosic.MetaData{}, false diff --git a/providers/kuwo/init.go b/providers/kuwo/init.go new file mode 100644 index 0000000..f5a86ab --- /dev/null +++ b/providers/kuwo/init.go @@ -0,0 +1,7 @@ +package kuwo + +import "github.com/AynaLivePlayer/miaosic" + +func init() { + miaosic.RegisterProvider(NewKuwo()) +} diff --git a/providers/kuwo/kuwo.go b/providers/kuwo/kuwo.go index f044038..785f4d4 100644 --- a/providers/kuwo/kuwo.go +++ b/providers/kuwo/kuwo.go @@ -2,6 +2,8 @@ package kuwo import ( "fmt" + "github.com/AynaLivePlayer/miaosic" + "github.com/AynaLivePlayer/miaosic/providers" "github.com/aynakeya/deepcolor" "github.com/aynakeya/deepcolor/dphttp" "github.com/spf13/cast" @@ -9,8 +11,6 @@ import ( "html" "math" "math/rand" - "miaosic" - "miaosic/providers" "regexp" "strconv" "strings" diff --git a/providers/kuwo/kuwo_test.go b/providers/kuwo/kuwo_test.go index 2ea3e91..967280f 100644 --- a/providers/kuwo/kuwo_test.go +++ b/providers/kuwo/kuwo_test.go @@ -1,9 +1,9 @@ package kuwo import ( + "github.com/AynaLivePlayer/miaosic" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "miaosic" "testing" ) diff --git a/providers/kuwo/playlist.go b/providers/kuwo/playlist.go index 1b4bd5f..4afec39 100644 --- a/providers/kuwo/playlist.go +++ b/providers/kuwo/playlist.go @@ -1,6 +1,6 @@ package kuwo -import "miaosic" +import "github.com/AynaLivePlayer/miaosic" func (n *Kuwo) MatchPlaylist(uri string) (miaosic.MetaData, bool) { return miaosic.MetaData{}, false diff --git a/providers/local/local.go b/providers/local/local.go index 7622111..60cd39f 100644 --- a/providers/local/local.go +++ b/providers/local/local.go @@ -1,7 +1,7 @@ package local import ( - "miaosic" + "github.com/AynaLivePlayer/miaosic" "os" "path" "strings" diff --git a/providers/local/local_helper.go b/providers/local/local_helper.go index 05825ac..c370688 100644 --- a/providers/local/local_helper.go +++ b/providers/local/local_helper.go @@ -1,9 +1,9 @@ package local import ( + "github.com/AynaLivePlayer/miaosic" "github.com/dhowden/tag" "github.com/sahilm/fuzzy" - "miaosic" "os" "path" "path/filepath" diff --git a/providers/local/local_test.go b/providers/local/local_test.go index 29bb9e1..a460735 100644 --- a/providers/local/local_test.go +++ b/providers/local/local_test.go @@ -2,8 +2,8 @@ package local import ( "fmt" + "github.com/AynaLivePlayer/miaosic" "github.com/sahilm/fuzzy" - "miaosic" "sort" "strings" "testing" diff --git a/providers/local/playlist.go b/providers/local/playlist.go new file mode 100644 index 0000000..76b5bcf --- /dev/null +++ b/providers/local/playlist.go @@ -0,0 +1,11 @@ +package local + +import "github.com/AynaLivePlayer/miaosic" + +func (l *localPlaylist) MatchPlaylist(uri string) (miaosic.MetaData, bool) { + return miaosic.MetaData{}, false +} + +func (l *localPlaylist) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) { + return nil, miaosic.ErrNotImplemented +} diff --git a/providers/netease/init.go b/providers/netease/init.go index d58095a..df98405 100644 --- a/providers/netease/init.go +++ b/providers/netease/init.go @@ -1,6 +1,6 @@ package netease -import "miaosic" +import "github.com/AynaLivePlayer/miaosic" func init() { miaosic.RegisterProvider(NewNetease()) diff --git a/providers/netease/login.go b/providers/netease/login.go index c81000b..de0b756 100644 --- a/providers/netease/login.go +++ b/providers/netease/login.go @@ -4,8 +4,8 @@ import ( "encoding/base64" "encoding/json" "fmt" + "github.com/AynaLivePlayer/miaosic" neteaseApi "github.com/XiaoMengXinX/Music163Api-Go/api" - "miaosic" "net/http" ) diff --git a/providers/netease/media.go b/providers/netease/media.go index 62b3875..9682a25 100644 --- a/providers/netease/media.go +++ b/providers/netease/media.go @@ -1,11 +1,11 @@ package netease import ( + "github.com/AynaLivePlayer/miaosic" neteaseApi "github.com/XiaoMengXinX/Music163Api-Go/api" neteaseTypes "github.com/XiaoMengXinX/Music163Api-Go/types" neteaseUtil "github.com/XiaoMengXinX/Music163Api-Go/utils" "github.com/spf13/cast" - "miaosic" "regexp" "strconv" "strings" diff --git a/providers/netease/media_test.go b/providers/netease/media_test.go index b2c678c..10c7b4c 100644 --- a/providers/netease/media_test.go +++ b/providers/netease/media_test.go @@ -1,8 +1,8 @@ package netease import ( + "github.com/AynaLivePlayer/miaosic" "github.com/stretchr/testify/require" - "miaosic" "strings" "testing" ) diff --git a/providers/netease/playlist.go b/providers/netease/playlist.go index 0f33d93..307505a 100644 --- a/providers/netease/playlist.go +++ b/providers/netease/playlist.go @@ -1,6 +1,6 @@ package netease -import "miaosic" +import "github.com/AynaLivePlayer/miaosic" func (n *Netease) MatchPlaylist(uri string) (miaosic.MetaData, bool) { return miaosic.MetaData{}, false diff --git a/providers/providers.go b/providers/providers.go index 3979d52..7bca1c1 100644 --- a/providers/providers.go +++ b/providers/providers.go @@ -1,8 +1,8 @@ package providers import ( + "github.com/AynaLivePlayer/miaosic" "github.com/aynakeya/deepcolor/dphttp" - "miaosic" ) type FileApiParam struct {