Skip to content

Commit 1ef10dc

Browse files
committed
clean getTracks
1 parent f058806 commit 1ef10dc

1 file changed

Lines changed: 21 additions & 16 deletions

File tree

src/discovery/listenbrainz.go

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -196,34 +196,39 @@ func (c *ListenBrainz) getTracks(mbids []string, singleArtist bool) ([]*models.T
196196

197197
tracks := make([]*models.Track, 0, len(recordings))
198198
for _, recording := range recordings {
199-
title := recording.Recording.Name
199+
rec := recording.Recording
200+
201+
title := rec.Name
200202
artist := recording.Artist.Name
201203
mainArtist := recording.Artist.Name
202204

203-
if len(recording.Artist.Artists) > 1 {
204-
mainArtist = recording.Artist.Artists[0].Name
205+
recArtists := recording.Artist.Artists
206+
207+
if len(recArtists) > 1 {
208+
mainArtist = recArtists[0].Name
205209
if singleArtist {
206-
var tempTitle strings.Builder
207-
joinPhrase := " feat. "
208-
for i, artist := range recording.Artist.Artists[1:] {
209-
if i > 0 {
210-
joinPhrase = ", "
211-
}
212-
tempTitle.WriteString(joinPhrase)
213-
tempTitle.WriteString(artist.Name)
210+
var b strings.Builder
211+
b.WriteString(title)
212+
b.WriteString(" feat. ")
213+
b.WriteString(recArtists[1].Name)
214+
215+
for _, a := range recArtists[2:] {
216+
b.WriteString(", ")
217+
b.WriteString(a.Name)
218+
}
219+
220+
title = b.String()
221+
artist = mainArtist
214222
}
215-
title = fmt.Sprintf("%s%s", recording.Recording.Name, tempTitle.String())
216-
artist = recording.Artist.Artists[0].Name
217-
}
218223
}
219224

220225
tracks = append(tracks, &models.Track{
221226
Album: recording.Release.Name,
222227
Artist: artist,
223228
MainArtist: mainArtist,
224-
CleanTitle: recording.Recording.Name,
229+
CleanTitle: rec.Name,
225230
Title: title,
226-
Duration: recording.Recording.Length,
231+
Duration: rec.Length,
227232
})
228233
}
229234

0 commit comments

Comments
 (0)