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

44
main.go
View File

@ -28,7 +28,22 @@ func main() {
cmd.InitParse() cmd.InitParse()
cmd.Parse() 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() bi, ok := debug.ReadBuildInfo()
if !ok { if !ok {
utils.Println("failed to fetch current version") 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.Segments()[0],
latestVersion.Original(), latestVersion.Original(),
) )
return }
}
if cmd.Options.Save { func save(cmd *converter.Converter) {
if err := cmd.Options.SaveConfig(); err != nil { if err := cmd.Options.SaveConfig(); err != nil {
cmd.Fatal(err) cmd.Fatal(err)
} }
@ -75,15 +89,13 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
cmd.Options.ShowConfig(), cmd.Options.ShowConfig(),
cmd.Options.FileName(), cmd.Options.FileName(),
) )
return }
}
if cmd.Options.Show { func show(cmd *converter.Converter) {
utils.Println(cmd.Options.Header(), cmd.Options.ShowConfig()) 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 { if err := cmd.Options.ResetConfig(); err != nil {
cmd.Fatal(err) cmd.Fatal(err)
} }
@ -93,9 +105,19 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
cmd.Options.ShowConfig(), cmd.Options.ShowConfig(),
cmd.Options.FileName(), 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 { if err := cmd.Validate(); err != nil {
cmd.Fatal(err) cmd.Fatal(err)
} }