From 8ef251bbf649c7735dffcad5a79039c564425914 Mon Sep 17 00:00:00 2001 From: itouakirai <85016486+itouakirai@users.noreply.github.com> Date: Sat, 29 Jun 2024 01:10:25 +0800 Subject: [PATCH] add artist cover download --- main_atmos.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/main_atmos.go b/main_atmos.go index a384496..8b2d5bb 100644 --- a/main_atmos.go +++ b/main_atmos.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"` @@ -1100,7 +1101,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") @@ -1318,6 +1319,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.") @@ -2196,6 +2205,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"`