feat: colored text
This commit is contained in:
parent
fb65a59845
commit
ddc9862c62
9
go.mod
9
go.mod
|
@ -3,12 +3,13 @@ module ncmdump
|
|||
go 1.23.0
|
||||
|
||||
require github.com/tidwall/gjson v1.17.3
|
||||
require github.com/go-flac/go-flac v1.0.0
|
||||
require github.com/spf13/pflag v1.0.5
|
||||
require github.com/bogem/id3v2/v2 v2.1.4
|
||||
require github.com/go-flac/flacpicture v0.3.0
|
||||
require github.com/TwiN/go-color v1.4.1
|
||||
|
||||
require (
|
||||
github.com/bogem/id3v2/v2 v2.1.4 // indirect
|
||||
github.com/go-flac/flacpicture v0.3.0 // indirect
|
||||
github.com/go-flac/go-flac v1.0.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/tidwall/match v1.1.1 // indirect
|
||||
github.com/tidwall/pretty v1.2.1 // indirect
|
||||
golang.org/x/text v0.18.0 // indirect
|
||||
|
|
2
go.sum
2
go.sum
|
@ -1,3 +1,5 @@
|
|||
github.com/TwiN/go-color v1.4.1 h1:mqG0P/KBgHKVqmtL5ye7K0/Gr4l6hTksPgTgMk3mUzc=
|
||||
github.com/TwiN/go-color v1.4.1/go.mod h1:WcPf/jtiW95WBIsEeY1Lc/b8aaWoiqQpu5cf8WFxu+s=
|
||||
github.com/bogem/id3v2/v2 v2.1.4 h1:CEwe+lS2p6dd9UZRlPc1zbFNIha2mb2qzT1cCEoNWoI=
|
||||
github.com/bogem/id3v2/v2 v2.1.4/go.mod h1:l+gR8MZ6rc9ryPTPkX77smS5Me/36gxkMgDayZ9G1vY=
|
||||
github.com/frolovo22/tag v0.0.2 h1:gFv5P5nqE7purEipbKT7X/OjP286nx5gA30mjt/4SgA=
|
||||
|
|
18
main.go
18
main.go
|
@ -2,30 +2,32 @@ package main
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
flag "github.com/spf13/pflag"
|
||||
"ncmdump/ncmcrypt"
|
||||
"ncmdump/utils"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
flag "github.com/spf13/pflag"
|
||||
)
|
||||
|
||||
func processFile(filePath string) error {
|
||||
currentFile, err := ncmcrypt.NewNeteaseCloudMusic(filePath)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "[Error] Reading '%s' failed: '%s'\n", filePath, err.Error())
|
||||
utils.ErrorPrintfln("Reading '%s' failed: '%s'", filePath, err.Error())
|
||||
return err
|
||||
}
|
||||
dump, err := currentFile.Dump()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "[Error] Processing '%s' failed: '%s'\n", filePath, err.Error())
|
||||
utils.ErrorPrintfln("Processing '%s' failed: '%s'", filePath, err.Error())
|
||||
return err
|
||||
}
|
||||
if dump {
|
||||
metadata, _ := currentFile.FixMetadata()
|
||||
if !metadata {
|
||||
fmt.Fprintf(os.Stderr, "[Warning] Fix metadata for '%s' failed: '%s'\n", filePath, err.Error())
|
||||
utils.WarningPrintfln("Fix metadata for '%s' failed: '%s'", filePath, err.Error())
|
||||
return err
|
||||
}
|
||||
fmt.Printf("[Done] '%s' -> '%s'\n", filePath, currentFile.GetDumpFilePath())
|
||||
utils.DonePrintfln("'%s' -> '%s'", filePath, currentFile.GetDumpFilePath())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -56,19 +58,19 @@ func main() {
|
|||
// check if the folder exists
|
||||
info, err := os.Stat(folderPath)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "[Error] Unable to access directory '%s'", folderPath)
|
||||
utils.ErrorPrintfln("Unable to access directory: '%s'", folderPath)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if !info.IsDir() {
|
||||
fmt.Fprintf(os.Stderr, "[Error] '%s' is not a directory", folderPath)
|
||||
utils.ErrorPrintfln("Not a directory: '%s'", folderPath)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// dump files in the folder
|
||||
files, err := os.ReadDir(folderPath)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "[Error] Unable to read directory '%s'", folderPath)
|
||||
utils.ErrorPrintfln("Unable to read directory: '%s'", folderPath)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/TwiN/go-color"
|
||||
)
|
||||
|
||||
func DonePrintfln(format string, a ...interface{}) {
|
||||
fmt.Printf(color.InBold(color.InGreen("[Done] "))+format+"\n", a...)
|
||||
}
|
||||
|
||||
func InfoPrintfln(format string, a ...interface{}) {
|
||||
fmt.Printf(color.InBold(color.InBlue("[Info] "))+format+"\n", a...)
|
||||
}
|
||||
|
||||
func WarningPrintfln(format string, a ...interface{}) {
|
||||
fmt.Printf(color.InBold(color.InYellow("[Warning] "))+format+"\n", a...)
|
||||
}
|
||||
|
||||
func ErrorPrintfln(format string, a ...interface{}) {
|
||||
fmt.Printf(color.InBold(color.InRed("[Error] "))+format+"\n", a...)
|
||||
}
|
Loading…
Reference in New Issue