🚧 More of fingerprinting
This commit is contained in:
parent
4c5c46a5f2
commit
c87dc5e04f
3 changed files with 89 additions and 6 deletions
|
|
@ -19,6 +19,45 @@ type Recording struct {
|
|||
Video bool
|
||||
Releases []Release
|
||||
Genres []Genre
|
||||
ArtistCredit []ArtistCredit `json:"artist-credit"`
|
||||
}
|
||||
|
||||
func (r Recording) FirstArtist() Artist {
|
||||
var a Artist
|
||||
for _, ac := range r.ArtistCredit {
|
||||
if ac.Artist.Name != "" {
|
||||
return ac.Artist
|
||||
}
|
||||
}
|
||||
for _, rel := range r.Releases {
|
||||
for _, ac := range rel.ArtistCredit {
|
||||
if ac.Artist.Name != "" {
|
||||
return ac.Artist
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if a.Name == "" {
|
||||
a.Name = "Unknown Artist"
|
||||
}
|
||||
return a
|
||||
}
|
||||
|
||||
func (r Recording) FirstGenre() Genre {
|
||||
var g Genre
|
||||
for _, g = range r.Genres {
|
||||
if g.Name != "" {
|
||||
return g
|
||||
}
|
||||
}
|
||||
for _, rel := range r.Releases {
|
||||
for _, g = range rel.Genres {
|
||||
if g.Name != "" {
|
||||
return g
|
||||
}
|
||||
}
|
||||
}
|
||||
return g
|
||||
}
|
||||
|
||||
type Genre struct {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue