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) { panic("unimplemented") }