diff --git a/internal/plugin/musify.go b/internal/plugin/musify.go index 4602615..ca91620 100644 --- a/internal/plugin/musify.go +++ b/internal/plugin/musify.go @@ -1,6 +1,7 @@ package plugin import ( + "errors" "regexp" "strings" @@ -48,8 +49,9 @@ func (m Musify) RegexSong() *regexp.Regexp { return regexp.MustCompile(`(?i)https?://musify\.club/track/[a-z\-0-9]+`) } -func parseArtistContact(contact *goquery.Selection) data.Artist { +func parseArtistContact(contact *goquery.Selection) (data.Artist, error) { artist := data.Artist{} + var err error anchor := contact.Find("a") if anchor.Length() > 0 { @@ -65,6 +67,8 @@ func parseArtistContact(contact *goquery.Selection) data.Artist { if name, nameExists := anchor.Attr("title"); nameExists { artist.Name = name } + } else { + err = errors.New("no anchor found") } /* @@ -78,11 +82,12 @@ func parseArtistContact(contact *goquery.Selection) data.Artist { artist_thumbnail = image_soup.get("src") */ - return artist + return artist, err } -func parseAlbumContact(contact *goquery.Selection) data.Album { +func parseAlbumContact(contact *goquery.Selection) (data.Album, error) { album := data.Album{} + var err error /*