add: MV dl(need mp4decrypt)

This commit is contained in:
itouakirai
2025-02-11 08:26:04 +08:00
parent 95ebc25c96
commit 61dfea68e1
2 changed files with 63 additions and 45 deletions

53
main.go
View File

@@ -464,6 +464,29 @@ func contains(slice []string, item string) bool {
func downloadTrack(trackNum int, trackTotal int, meta *structs.AutoGenerated, track structs.TrackData, albumId, token, storefront, mediaUserToken, sanAlbumFolder, Codec string, counter *structs.Counter) {
counter.Total++
fmt.Printf("Track %d of %d:\n", trackNum, trackTotal)
//mv dl dev
if track.Type == "music-videos" {
if mediaUserToken == "" || len(mediaUserToken) <= 10 {
fmt.Println("meida-user-token is not set, skip MV dl")
counter.Success++
return
}
if _, err := exec.LookPath("mp4decrypt"); err != nil {
fmt.Println("mp4decrypt is not found, skip MV dl")
counter.Success++
return
}
err := mvDownloader(track.ID, sanAlbumFolder, token, mediaUserToken)
if err !=nil {
fmt.Println("\u26A0 Failed to dl MV:", err)
counter.Error++
return
}
counter.Success++
return
}
manifest, err := getInfoFromAdam(track.ID, token, storefront)
if err != nil {
fmt.Println("\u26A0 Failed to get manifest:", err)
@@ -1103,11 +1126,6 @@ func main() {
return
}
os.Args = args
//mv dl dev
if strings.Contains(os.Args[0], "/music-video/") {
_ = mvDownloader(checkUrlMv(os.Args[0]), Config.AlacSaveFolder, token, Config.MediaUserToken)
return
}
if strings.Contains(os.Args[0], "/artist/") {
urlArtistName, err := getUrlArtistName(os.Args[0], token)
if err != nil {
@@ -1130,6 +1148,31 @@ func main() {
for albumNum, urlRaw := range os.Args {
fmt.Printf("Album %d of %d:\n", albumNum+1, albumTotal)
var storefront, albumId string
//mv dl dev
if strings.Contains(urlRaw, "/music-video/") {
if debug_mode {
continue
}
counter.Total++
if Config.MediaUserToken == "" || len(Config.MediaUserToken) <= 10 {
fmt.Println("meida-user-token is not set, skip MV dl")
counter.Success++
continue
}
if _, err := exec.LookPath("mp4decrypt"); err != nil {
fmt.Println("mp4decrypt is not found, skip MV dl")
counter.Success++
continue
}
err := mvDownloader(checkUrlMv(urlRaw), Config.AlacSaveFolder, token, Config.MediaUserToken)
if err !=nil {
fmt.Println("\u26A0 Failed to dl MV:", err)
counter.Error++
continue
}
counter.Success++
continue
}
if strings.Contains(urlRaw, "/song/") {
urlRaw, err = getUrlSong(urlRaw, token)
dl_song = true