From af1a310cb65e6d092d7b8e0ae49c832e0dd6f7d6 Mon Sep 17 00:00:00 2001 From: zhaarey <157944548+zhaarey@users.noreply.github.com> Date: Sat, 6 Jul 2024 13:14:01 +0800 Subject: [PATCH] fix Various Artists dont have artist cover --- main.go | 8 +++++--- main_atmos.go | 14 ++++++++------ main_select.go | 8 +++++--- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index 20f2004..06cdc5e 100644 --- a/main.go +++ b/main.go @@ -1405,9 +1405,11 @@ func rip(albumId string, token string, storefront string, userToken string) erro fmt.Println(albumFolder) //get artist cover if config.SaveArtistCover && !(strings.Contains(albumId, "pl.")) { - err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) - if err != nil { - fmt.Println("Failed to write artist cover.") + if len(meta.Data[0].Relationships.Artists.Data) > 0 { + err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) + if err != nil { + fmt.Println("Failed to write artist cover.") + } } } //get album cover diff --git a/main_atmos.go b/main_atmos.go index f97ed7e..b0a1638 100644 --- a/main_atmos.go +++ b/main_atmos.go @@ -45,7 +45,7 @@ type Config struct { EmbyAnimatedArtwork bool `yaml:"emby-animated-artwork"` EmbedLrc bool `yaml:"embed-lrc"` EmbedCover bool `yaml:"embed-cover"` - SaveArtistCover bool `yaml:"save-artist-cover"` + SaveArtistCover bool `yaml:"save-artist-cover"` CoverSize string `yaml:"cover-size"` CoverFormat string `yaml:"cover-format"` AlacSaveFolder string `yaml:"alac-save-folder"` @@ -1321,9 +1321,11 @@ func rip(albumId string, token string, storefront string, userToken string) erro fmt.Println(albumFolder) //get artist cover if config.SaveArtistCover && !(strings.Contains(albumId, "pl.")) { - err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) - if err != nil { - fmt.Println("Failed to write artist cover.") + if len(meta.Data[0].Relationships.Artists.Data) > 0 { + err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) + if err != nil { + fmt.Println("Failed to write artist cover.") + } } } //get album cover @@ -2182,7 +2184,7 @@ type AutoGenerated struct { ID string `json:"id"` Kind string `json:"kind"` } `json:"playParams"` - IsCompilation bool `json:"isCompilation"` + IsCompilation bool `json:"isCompilation"` EditorialVideo struct { MotionDetailSquare struct { Video string `json:"video"` @@ -2204,7 +2206,7 @@ type AutoGenerated struct { Type string `json:"type"` Href string `json:"href"` Attributes struct { - Name string `json:"name"` + Name string `json:"name"` Artwork struct { Url string `json:"url"` } `json:"artwork"` diff --git a/main_select.go b/main_select.go index 6821736..a3884b2 100644 --- a/main_select.go +++ b/main_select.go @@ -1281,9 +1281,11 @@ func rip(albumId string, token string, storefront string, userToken string) erro fmt.Println(albumFolder) //get artist cover if config.SaveArtistCover && !(strings.Contains(albumId, "pl.")) { - err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) - if err != nil { - fmt.Println("Failed to write artist cover.") + if len(meta.Data[0].Relationships.Artists.Data) > 0 { + err = writeCover(singerFolder, "folder", meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url) + if err != nil { + fmt.Println("Failed to write artist cover.") + } } } //get album cover