增加warning统计
This commit is contained in:
parent
8391a8cd92
commit
c434fb0517
40
main.go
40
main.go
@ -84,8 +84,15 @@ type Config struct {
|
|||||||
|
|
||||||
var config Config
|
var config Config
|
||||||
var txtpath string
|
var txtpath string
|
||||||
var oktrackNum int = 0
|
//统计结果
|
||||||
var trackTotalnum int = 0
|
var counter Counter
|
||||||
|
type Counter struct {
|
||||||
|
Unavailable int
|
||||||
|
NotSong int
|
||||||
|
Error int
|
||||||
|
Success int
|
||||||
|
Total int
|
||||||
|
}
|
||||||
var okDict = make(map[string][]int)
|
var okDict = make(map[string][]int)
|
||||||
|
|
||||||
type SampleInfo struct {
|
type SampleInfo struct {
|
||||||
@ -1597,20 +1604,22 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
trackNum++
|
trackNum++
|
||||||
if isInArray(okDict[albumId], trackNum) {
|
if isInArray(okDict[albumId], trackNum) {
|
||||||
//fmt.Println("已完成直接跳过.\n")
|
//fmt.Println("已完成直接跳过.\n")
|
||||||
trackTotalnum += 1
|
counter.Total++
|
||||||
oktrackNum += 1
|
counter.Success++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if isInArray(selected, trackNum) {
|
if isInArray(selected, trackNum) {
|
||||||
trackTotalnum += 1
|
counter.Total++
|
||||||
fmt.Printf("Track %d of %d:\n", trackNum, trackTotal)
|
fmt.Printf("Track %d of %d:\n", trackNum, trackTotal)
|
||||||
manifest, err := getInfoFromAdam(track.ID, token, storefront)
|
manifest, err := getInfoFromAdam(track.ID, token, storefront)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed to get manifest.\n", err)
|
fmt.Println("Failed to get manifest.\n", err)
|
||||||
|
counter.NotSong++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if manifest.Attributes.ExtendedAssetUrls.EnhancedHls == "" {
|
if manifest.Attributes.ExtendedAssetUrls.EnhancedHls == "" {
|
||||||
fmt.Println("Unavailable.")
|
fmt.Println("Unavailable.")
|
||||||
|
counter.Unavailable++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
needCheck := false
|
needCheck := false
|
||||||
@ -1635,6 +1644,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
Quality, err = extractMediaQuality(manifest.Attributes.ExtendedAssetUrls.EnhancedHls)
|
Quality, err = extractMediaQuality(manifest.Attributes.ExtendedAssetUrls.EnhancedHls)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed to extract quality from manifest.\n", err)
|
fmt.Println("Failed to extract quality from manifest.\n", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1704,7 +1714,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
}
|
}
|
||||||
if exists {
|
if exists {
|
||||||
fmt.Println("Track already exists locally.")
|
fmt.Println("Track already exists locally.")
|
||||||
oktrackNum += 1
|
counter.Success++
|
||||||
okDict[albumId] = append(okDict[albumId], trackNum)
|
okDict[albumId] = append(okDict[albumId], trackNum)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -1714,7 +1724,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
}
|
}
|
||||||
if m4aexists {
|
if m4aexists {
|
||||||
fmt.Println("Track already exists locally.")
|
fmt.Println("Track already exists locally.")
|
||||||
oktrackNum += 1
|
counter.Success++
|
||||||
okDict[albumId] = append(okDict[albumId], trackNum)
|
okDict[albumId] = append(okDict[albumId], trackNum)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -1722,11 +1732,13 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
trackUrl, keys, err := extractMedia(manifest.Attributes.ExtendedAssetUrls.EnhancedHls)
|
trackUrl, keys, err := extractMedia(manifest.Attributes.ExtendedAssetUrls.EnhancedHls)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed to extract info from manifest.\n", err)
|
fmt.Println("Failed to extract info from manifest.\n", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
info, err := extractSong(trackUrl)
|
info, err := extractSong(trackUrl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed to extract track.", err)
|
fmt.Println("Failed to extract track.", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
samplesOk := true
|
samplesOk := true
|
||||||
@ -1743,11 +1755,13 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
if !samplesOk {
|
if !samplesOk {
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
err = decryptSong(info, keys, meta, trackPath, trackNum, trackTotal)
|
err = decryptSong(info, keys, meta, trackPath, trackNum, trackTotal)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed to decrypt track.\n", err)
|
fmt.Println("Failed to decrypt track.\n", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
tags := []string{
|
tags := []string{
|
||||||
@ -1808,11 +1822,13 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
}
|
}
|
||||||
if err := cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
fmt.Printf("Embed failed: %v\n", err)
|
fmt.Printf("Embed failed: %v\n", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if strings.Contains(albumId, "pl.") && config.DlAlbumcoverForPlaylist {
|
if strings.Contains(albumId, "pl.") && config.DlAlbumcoverForPlaylist {
|
||||||
if err := os.Remove(fmt.Sprintf("%s/%s.%s", sanAlbumFolder, track.ID, config.CoverFormat)); err != nil {
|
if err := os.Remove(fmt.Sprintf("%s/%s.%s", sanAlbumFolder, track.ID, config.CoverFormat)); err != nil {
|
||||||
fmt.Printf("Error deleting file: %s/%s.%s\n", sanAlbumFolder, track.ID, config.CoverFormat)
|
fmt.Printf("Error deleting file: %s/%s.%s\n", sanAlbumFolder, track.ID, config.CoverFormat)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1820,11 +1836,12 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
|||||||
fmt.Printf("Deleting original EC3 file: %s\n", filepath.Base(trackPath))
|
fmt.Printf("Deleting original EC3 file: %s\n", filepath.Base(trackPath))
|
||||||
if err := os.Remove(trackPath); err != nil {
|
if err := os.Remove(trackPath); err != nil {
|
||||||
fmt.Printf("Error deleting file: %v\n", err)
|
fmt.Printf("Error deleting file: %v\n", err)
|
||||||
|
counter.Error++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
fmt.Printf("Successfully processed and deleted %s\n", filepath.Base(trackPath))
|
fmt.Printf("Successfully processed and deleted %s\n", filepath.Base(trackPath))
|
||||||
}
|
}
|
||||||
oktrackNum += 1
|
counter.Success++
|
||||||
okDict[albumId] = append(okDict[albumId], trackNum)
|
okDict[albumId] = append(okDict[albumId], trackNum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1914,15 +1931,14 @@ func main() {
|
|||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fmt.Printf("======= Completed %d/%d ###### %d errors!! =======\n", oktrackNum, trackTotalnum, trackTotalnum-oktrackNum)
|
fmt.Printf("======= [\u2714 ] Completed: %d/%d | [\u26A0 ] Warnings: %d | [\u2716 ] Errors: %d =======\n", counter.Success, counter.Total, counter.Unavailable+counter.NotSong, counter.Error)
|
||||||
if trackTotalnum-oktrackNum == 0 {
|
if counter.Error == 0 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
fmt.Println("Error detected, press Enter to try again...")
|
fmt.Println("Error detected, press Enter to try again...")
|
||||||
fmt.Scanln()
|
fmt.Scanln()
|
||||||
fmt.Println("Start trying again...")
|
fmt.Println("Start trying again...")
|
||||||
oktrackNum = 0
|
counter = Counter{}
|
||||||
trackTotalnum = 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user