improve readability main

This commit is contained in:
Celogeek 2024-05-11 15:44:47 +02:00
parent 30ac67b06d
commit cdd3668ca2
Signed by: celogeek
SSH Key Fingerprint: SHA256:njNJLzoLQdbV9PC6ehcruRb0QnEgxABoCYZ+0+aUIYc

38
main.go
View File

@ -28,7 +28,22 @@ func main() {
cmd.InitParse()
cmd.Parse()
if cmd.Options.Version {
switch {
case cmd.Options.Version:
version()
case cmd.Options.Save:
save(cmd)
case cmd.Options.Show:
show(cmd)
case cmd.Options.Reset:
reset(cmd)
default:
generate(cmd)
}
}
func version() {
bi, ok := debug.ReadBuildInfo()
if !ok {
utils.Println("failed to fetch current version")
@ -62,10 +77,9 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
latestVersion.Segments()[0],
latestVersion.Original(),
)
return
}
if cmd.Options.Save {
func save(cmd *converter.Converter) {
if err := cmd.Options.SaveConfig(); err != nil {
cmd.Fatal(err)
}
@ -75,15 +89,13 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
return
}
if cmd.Options.Show {
func show(cmd *converter.Converter) {
utils.Println(cmd.Options.Header(), cmd.Options.ShowConfig())
return
}
if cmd.Options.Reset {
func reset(cmd *converter.Converter) {
if err := cmd.Options.ResetConfig(); err != nil {
cmd.Fatal(err)
}
@ -93,9 +105,19 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
return
if err := cmd.Options.ResetConfig(); err != nil {
cmd.Fatal(err)
}
utils.Printf(
"%s%s\n\nReset default to %s\n",
cmd.Options.Header(),
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
}
func generate(cmd *converter.Converter) {
if err := cmd.Validate(); err != nil {
cmd.Fatal(err)
}