59 lines
1.6 KiB
Go
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()
|
|
}
|
|
}
|