mirror of
https://github.com/AynaLivePlayer/miaosic.git
synced 2025-12-06 21:12:49 +08:00
116 lines
2.7 KiB
Go
116 lines
2.7 KiB
Go
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 GetMediaLyric(meta MetaData) ([]Lyrics, error) {
|
|
provider, ok := GetProvider(meta.Provider)
|
|
if !ok {
|
|
return nil, ErrorNoSuchProvider
|
|
}
|
|
return provider.GetMediaLyric(meta)
|
|
}
|
|
|
|
func MatchPlaylistByProvider(provider string, uri string) (MetaData, bool) {
|
|
p, ok := GetProvider(provider)
|
|
if !ok {
|
|
return MetaData{}, false
|
|
}
|
|
return p.MatchPlaylist(uri)
|
|
}
|
|
|
|
func GetPlaylist(meta MetaData) (*Playlist, error) {
|
|
p, ok := GetProvider(meta.Provider)
|
|
if !ok {
|
|
return nil, ErrorNoSuchProvider
|
|
}
|
|
return p.GetPlaylist(meta)
|
|
}
|
|
|
|
func MatchMedia(keyword string) (MetaData, bool) {
|
|
for _, p := range _providers {
|
|
if meta, ok := p.MatchMedia(keyword); ok {
|
|
return meta, true
|
|
}
|
|
}
|
|
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)
|
|
// }
|
|
// return nil, ErrorNoSuchProvider
|
|
//}
|
|
//
|
|
//func FormatPlaylistUrl(pname, uri string) (string, error) {
|
|
// if v, ok := Providers[pname]; ok {
|
|
// return v.FormatPlaylistUrl(uri), nil
|
|
// }
|
|
// return "", ErrorNoSuchProvider
|
|
//}
|
|
//
|
|
//func MatchMedia(provider string, keyword string) *model.Media {
|
|
// if v, ok := Providers[provider]; ok {
|
|
// return v.MatchMedia(keyword)
|
|
// }
|
|
// return nil
|
|
//}
|
|
//
|
|
//func Search(provider string, keyword string) ([]*model.Media, error) {
|
|
// if v, ok := Providers[provider]; ok {
|
|
// return v.Search(keyword)
|
|
// }
|
|
// return nil, ErrorNoSuchProvider
|
|
//}
|
|
//
|
|
//func UpdateMedia(media *model.Media) error {
|
|
// if v, ok := Providers[media.Meta.(model.Meta).Name]; ok {
|
|
// return v.UpdateMedia(media)
|
|
// }
|
|
// return ErrorNoSuchProvider
|
|
//}
|
|
//
|
|
//func UpdateMediaUrl(media *model.Media) error {
|
|
// if v, ok := Providers[media.Meta.(model.Meta).Name]; ok {
|
|
// return v.UpdateMediaUrl(media)
|
|
// }
|
|
// return ErrorNoSuchProvider
|
|
//}
|
|
//
|
|
//func UpdateMediaLyric(media *model.Media) error {
|
|
// if v, ok := Providers[media.Meta.(model.Meta).Name]; ok {
|
|
// return v.UpdateMediaLyric(media)
|
|
// }
|
|
// return ErrorNoSuchProvider
|
|
//}
|