diff --git a/main.go b/main.go index 1e9e717..c912e4c 100644 --- a/main.go +++ b/main.go @@ -45,6 +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"` CoverSize string `yaml:"cover-size"` CoverFormat string `yaml:"cover-format"` AlacSaveFolder string `yaml:"alac-save-folder"` @@ -1154,7 +1155,7 @@ func getMeta(albumId string, token string, storefront string) (*AutoGenerated, e query.Set("omit[resource]", "autos") query.Set("include", "tracks,artists,record-labels") query.Set("include[songs]", "artists") - query.Set("fields[artists]", "name") + query.Set("fields[artists]", "name,artwork") query.Set("fields[albums:albums]", "artistName,artwork,name,releaseDate,url") query.Set("fields[record-labels]", "name") query.Set("extend", "editorialVideo") @@ -1390,6 +1391,14 @@ func rip(albumId string, token string, storefront string, userToken string) erro sanAlbumFolder := filepath.Join(singerFolder, forbiddenNames.ReplaceAllString(albumFolder, "_")) os.MkdirAll(sanAlbumFolder, os.ModePerm) fmt.Println(albumFolder) + //get artist cover + if config.SaveArtistCover && meta.Data[0].Relationships.Artists.Data[0].Attributes.Artwork.Url != "" { + 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 err = writeCover(sanAlbumFolder, "cover", meta.Data[0].Attributes.Artwork.URL) if err != nil { fmt.Println("Failed to write cover.") @@ -2402,6 +2411,9 @@ type AutoGenerated struct { Href string `json:"href"` Attributes struct { Name string `json:"name"` + Artwork struct { + Url string `json:"url"` + } `json:"artwork"` } `json:"attributes"` } `json:"data"` } `json:"artists"`