fix playlist dl
This commit is contained in:
parent
2373452bf2
commit
85629866b6
@ -14,6 +14,8 @@ atmos-max: 2768 #2768 2448
|
||||
#{AlbumId} {AlbumName} {ArtistName} {ReleaseDate} {ReleaseYear} {UPC} {Copyright} {Quality}
|
||||
#example: {ReleaseYear} - {ArtistName} - {AlbumName}({AlbumId})({UPC})({Copyright})
|
||||
album-folder-format: "{AlbumName}"
|
||||
#{PlaylistId} {PlaylistName} {ArtistName} {Quality}
|
||||
playlist-folder-format: "{PlaylistName}"
|
||||
#{SongId} {SongNumer} {SongName} {DiscNumber} {TrackNumber} {Quality}
|
||||
#example: Disk {DiscNumber} - Track {TrackNumber} {SongName} [{Quality}]"
|
||||
song-file-format: "{SongNumer}. {SongName}"
|
||||
|
23
main.go
23
main.go
@ -46,6 +46,7 @@ type Config struct {
|
||||
AlacSaveFolder string `yaml:"alac-save-folder"`
|
||||
AtmosSaveFolder string `yaml:"atmos-save-folder"`
|
||||
AlbumFolderFormat string `yaml:"album-folder-format"`
|
||||
PlaylistFolderFormat string `yaml:"playlist-folder-format"`
|
||||
ArtistFolderFormat string `yaml:"artist-folder-format"`
|
||||
SongFileFormat string `yaml:"song-file-format"`
|
||||
ExplicitChoice string `yaml:"explicit-choice"`
|
||||
@ -1163,10 +1164,18 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
}
|
||||
singerFolder:=""
|
||||
if config.ArtistFolderFormat != ""{
|
||||
singerFoldername := strings.NewReplacer(
|
||||
var singerFoldername string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{ArtistId}", "",
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}else{
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
"{ArtistId}", meta.Data[0].Relationships.Artists.Data[0].ID,
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}
|
||||
if strings.HasSuffix(singerFoldername, ".") {
|
||||
singerFoldername = strings.ReplaceAll(singerFoldername, ".", "")
|
||||
}
|
||||
@ -1192,7 +1201,16 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println("Failed to extract quality from manifest.\n", err)
|
||||
}
|
||||
}
|
||||
albumFolder := strings.NewReplacer(
|
||||
var albumFolder string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{PlaylistName}", meta.Data[0].Attributes.Name,
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}",Quality,
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ReleaseDate}", meta.Data[0].Attributes.ReleaseDate,
|
||||
"{ReleaseYear}", meta.Data[0].Attributes.ReleaseDate[:4],
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
@ -1202,6 +1220,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}", Quality,
|
||||
).Replace(config.AlbumFolderFormat)
|
||||
}
|
||||
if meta.Data[0].Attributes.IsMasteredForItunes{
|
||||
if config.AppleMasterChoice != ""{
|
||||
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.AppleMasterChoice)
|
||||
|
@ -45,6 +45,7 @@ type Config struct {
|
||||
AlacSaveFolder string `yaml:"alac-save-folder"`
|
||||
AtmosSaveFolder string `yaml:"atmos-save-folder"`
|
||||
AlbumFolderFormat string `yaml:"album-folder-format"`
|
||||
PlaylistFolderFormat string `yaml:"playlist-folder-format"`
|
||||
ArtistFolderFormat string `yaml:"artist-folder-format"`
|
||||
SongFileFormat string `yaml:"song-file-format"`
|
||||
ExplicitChoice string `yaml:"explicit-choice"`
|
||||
@ -1123,10 +1124,18 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
}
|
||||
singerFolder:=""
|
||||
if config.ArtistFolderFormat != ""{
|
||||
singerFoldername := strings.NewReplacer(
|
||||
var singerFoldername string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{ArtistId}", "",
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}else{
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
"{ArtistId}", meta.Data[0].Relationships.Artists.Data[0].ID,
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}
|
||||
if strings.HasSuffix(singerFoldername, ".") {
|
||||
singerFoldername = strings.ReplaceAll(singerFoldername, ".", "")
|
||||
}
|
||||
@ -1134,7 +1143,16 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println(singerFoldername)
|
||||
singerFolder = filepath.Join(config.AlacSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_"))
|
||||
}
|
||||
albumFolder := strings.NewReplacer(
|
||||
var albumFolder string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{PlaylistName}", meta.Data[0].Attributes.Name,
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}","Atmos",
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ReleaseDate}", meta.Data[0].Attributes.ReleaseDate,
|
||||
"{ReleaseYear}", meta.Data[0].Attributes.ReleaseDate[:4],
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
@ -1142,8 +1160,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{UPC}", meta.Data[0].Attributes.Upc,
|
||||
"{Copyright}", meta.Data[0].Attributes.Copyright,
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}","",
|
||||
"{Quality}","Atmos",
|
||||
).Replace(config.AlbumFolderFormat)
|
||||
}
|
||||
if meta.Data[0].Attributes.IsMasteredForItunes{
|
||||
if config.AppleMasterChoice != ""{
|
||||
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.AppleMasterChoice)
|
||||
@ -1159,7 +1178,6 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.CleanChoice)
|
||||
}
|
||||
}
|
||||
albumFolder = fmt.Sprintf("%s [Atmos]", albumFolder)
|
||||
if strings.HasSuffix(albumFolder, ".") {
|
||||
albumFolder = strings.ReplaceAll(albumFolder, ".", "")
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ type Config struct {
|
||||
AlacSaveFolder string `yaml:"alac-save-folder"`
|
||||
AtmosSaveFolder string `yaml:"atmos-save-folder"`
|
||||
AlbumFolderFormat string `yaml:"album-folder-format"`
|
||||
PlaylistFolderFormat string `yaml:"playlist-folder-format"`
|
||||
ArtistFolderFormat string `yaml:"artist-folder-format"`
|
||||
SongFileFormat string `yaml:"song-file-format"`
|
||||
ExplicitChoice string `yaml:"explicit-choice"`
|
||||
@ -1126,10 +1127,18 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
}
|
||||
singerFolder:=""
|
||||
if config.ArtistFolderFormat != ""{
|
||||
singerFoldername := strings.NewReplacer(
|
||||
var singerFoldername string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{ArtistId}", "",
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}else{
|
||||
singerFoldername = strings.NewReplacer(
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
"{ArtistId}", meta.Data[0].Relationships.Artists.Data[0].ID,
|
||||
).Replace(config.ArtistFolderFormat)
|
||||
}
|
||||
if strings.HasSuffix(singerFoldername, ".") {
|
||||
singerFoldername = strings.ReplaceAll(singerFoldername, ".", "")
|
||||
}
|
||||
@ -1137,7 +1146,16 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println(singerFoldername)
|
||||
singerFolder = filepath.Join(config.AlacSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_"))
|
||||
}
|
||||
albumFolder := strings.NewReplacer(
|
||||
var albumFolder string
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ArtistName}", "Apple Music",
|
||||
"{PlaylistName}", meta.Data[0].Attributes.Name,
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}","",
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
"{ReleaseDate}", meta.Data[0].Attributes.ReleaseDate,
|
||||
"{ReleaseYear}", meta.Data[0].Attributes.ReleaseDate[:4],
|
||||
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
|
||||
@ -1147,6 +1165,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}", "",
|
||||
).Replace(config.AlbumFolderFormat)
|
||||
}
|
||||
if meta.Data[0].Attributes.IsMasteredForItunes{
|
||||
if config.AppleMasterChoice != ""{
|
||||
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.AppleMasterChoice)
|
||||
|
Loading…
x
Reference in New Issue
Block a user