48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package plugin
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
"gitea.elara.ws/Hazel/music-kraken/internal/common"
|
|
"gitea.elara.ws/Hazel/music-kraken/internal/data"
|
|
)
|
|
|
|
type Youtube struct {
|
|
}
|
|
|
|
func (m Youtube) Name() string {
|
|
return "Youtube"
|
|
}
|
|
|
|
func (m Youtube) Regex() *regexp.Regexp {
|
|
return regexp.MustCompile(`(?i)\b(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})\b`)
|
|
}
|
|
|
|
func (m Youtube) RegexAlbum() *regexp.Regexp {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) RegexArtist() *regexp.Regexp {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) RegexSong() *regexp.Regexp {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) FetchAlbum(source data.Source) (data.Album, error) {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) FetchArtist(source data.Source) (data.Artist, error) {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) FetchSong(source data.Source) (data.Song, error) {
|
|
panic("unimplemented")
|
|
}
|
|
|
|
func (m Youtube) Search(query common.Query) ([]data.MusicObject, error) {
|
|
return []data.MusicObject{}, nil
|
|
}
|