musicutil/main.go
2022-02-22 14:02:58 +00:00

59 lines
1.6 KiB
Go

package main
import (
"os"
"gitlab.com/ChaotiCryptidz/musicutil/commands/copy"
"gitlab.com/ChaotiCryptidz/musicutil/commands/genhtml"
"gitlab.com/ChaotiCryptidz/musicutil/commands/process"
"gitlab.com/ChaotiCryptidz/musicutil/commands/transcode"
_ "gitlab.com/ChaotiCryptidz/musicutil/config"
_ "gitlab.com/ChaotiCryptidz/musicutil/utils/transcoder"
"github.com/akamensky/argparse"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"github.com/spf13/viper"
)
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
log_level := viper.GetString("log_level")
if log_level == "info" {
zerolog.SetGlobalLevel(zerolog.InfoLevel)
} else if log_level == "debug" {
zerolog.SetGlobalLevel(zerolog.DebugLevel)
} else {
zerolog.SetGlobalLevel(zerolog.InfoLevel)
}
parser := argparse.NewParser("musicutil", "A tool for organising a music library and more.")
process_cmd, process_cmd_args := process.RegisterProcessCommand(parser)
transcode_cmd, transcode_cmd_args := transcode.RegisterTranscodeCommand(parser)
genhtml_cmd, genhtml_cmd_args := genhtml.RegisterGenHTMLCommand(parser)
copy_cmd, copy_cmd_args := copy.RegisterCopyCommand(parser)
if err := parser.Parse(os.Args); err != nil {
panic(err)
}
if process_cmd.Happened() {
process.NewProcessCommand(process_cmd_args).Run()
}
if transcode_cmd.Happened() {
transcode.NewTranscodeCommand(transcode_cmd_args).Run()
}
if genhtml_cmd.Happened() {
genhtml.NewGenHTMLCommand(genhtml_cmd_args).Run()
}
if copy_cmd.Happened() {
copy.NewCopyCommand(copy_cmd_args).Run()
}
}