Lines Matching refs:artist

28 	TopSongs(ctx context.Context, artist string, count int) (model.MediaFiles, error)
44 artist, err := e.getArtist(ctx, id)
50 if time.Since(artist.ExternalInfoUpdatedAt) < consts.ArtistInfoTimeToLive {
51 …log.Debug("Found cached ArtistInfo", "updatedAt", artist.ExternalInfoUpdatedAt, "name", artist.Nam…
52 err := e.loadSimilar(ctx, artist, includeNotPresent)
53 return artist, err
55 log.Debug("ArtistInfo not cached", "updatedAt", artist.ExternalInfoUpdatedAt, "id", id)
60 e.callArtistInfo(ctx, artist, &wg)
61 e.callArtistImages(ctx, artist, &wg)
62 e.callSimilarArtists(ctx, artist, count, &wg)
66 e.setBio(artist, "Biography not available")
67 e.setSmallImageUrl(artist, placeholderArtistImageSmallUrl)
68 e.setMediumImageUrl(artist, placeholderArtistImageMediumUrl)
69 e.setLargeImageUrl(artist, placeholderArtistImageLargeUrl)
71 artist.ExternalInfoUpdatedAt = time.Now()
72 err = e.ds.Artist(ctx).Put(artist)
78 similar := artist.SimilarArtists
79 artist.SimilarArtists = nil
84 artist.SimilarArtists = append(artist.SimilarArtists, s)
88 log.Trace(ctx, "ArtistInfo collected", "artist", artist)
90 return artist, nil
128 artist, err := e.getArtist(ctx, id)
133 artists, err := e.similarArtists(ctx, clearName(artist.Name), count, false)
138 ids[0] = artist.ID
200 artist, err := e.findArtistByName(ctx, artistName)
207 log.Debug(ctx, "Calling Last.FM ArtistGetTopTracks", "artist", artistName, "id", artist.ID)
214 mf, err := e.findMatchingTrack(ctx, t.MBID, artist.ID, t.Name)
248 func (e *externalInfo) callArtistInfo(ctx context.Context, artist *model.Artist, wg *sync.WaitGroup…
250 name := clearName(artist.Name)
262 e.setBio(artist, lfmArtist.Bio.Summary)
263 e.setExternalUrl(artist, lfmArtist.URL)
264 e.setMbzID(artist, lfmArtist.MBID)
290 func (e *externalInfo) callSimilarArtists(ctx context.Context, artist *model.Artist, count int, wg …
292 name := clearName(artist.Name)
303 artist.SimilarArtists = similar
308 func (e *externalInfo) callArtistImages(ctx context.Context, artist *model.Artist, wg *sync.WaitGro…
310 name := clearName(artist.Name)
331 e.setLargeImageUrl(artist, spfImages[0].URL)
334 e.setMediumImageUrl(artist, spfImages[1].URL)
337 e.setSmallImageUrl(artist, spfImages[2].URL)
343 func (e *externalInfo) setBio(artist *model.Artist, bio string) {
345 if artist.Biography == "" {
348 artist.Biography = strings.ReplaceAll(bio, "<a ", "<a target='_blank' ")
352 func (e *externalInfo) setExternalUrl(artist *model.Artist, url string) {
353 if artist.ExternalUrl == "" {
354 artist.ExternalUrl = url
358 func (e *externalInfo) setMbzID(artist *model.Artist, mbID string) {
359 if artist.MbzArtistID == "" {
360 artist.MbzArtistID = mbID
364 func (e *externalInfo) setSmallImageUrl(artist *model.Artist, url string) {
365 if artist.SmallImageUrl == "" {
366 artist.SmallImageUrl = url
370 func (e *externalInfo) setMediumImageUrl(artist *model.Artist, url string) {
371 if artist.MediumImageUrl == "" {
372 artist.MediumImageUrl = url
376 func (e *externalInfo) setLargeImageUrl(artist *model.Artist, url string) {
377 if artist.LargeImageUrl == "" {
378 artist.LargeImageUrl = url
382 func (e *externalInfo) loadSimilar(ctx context.Context, artist *model.Artist, includeNotPresent boo…
384 for _, sa := range artist.SimilarArtists {
405 for _, sa := range artist.SimilarArtists {
416 artist.SimilarArtists = loaded