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

126
main.go
View File

@ -28,25 +28,40 @@ func main() {
cmd.InitParse() cmd.InitParse()
cmd.Parse() cmd.Parse()
if cmd.Options.Version { switch {
bi, ok := debug.ReadBuildInfo() case cmd.Options.Version:
if !ok { version()
utils.Println("failed to fetch current version") case cmd.Options.Save:
os.Exit(1) save(cmd)
} case cmd.Options.Show:
show(cmd)
case cmd.Options.Reset:
reset(cmd)
default:
generate(cmd)
}
githubTag := &latest.GithubTag{ }
Owner: "celogeek",
Repository: "go-comic-converter",
}
v, err := githubTag.Fetch()
if err != nil || len(v.Versions) < 1 {
utils.Println("failed to fetch the latest version")
os.Exit(1)
}
latestVersion := v.Versions[0]
utils.Printf(`go-comic-converter func version() {
bi, ok := debug.ReadBuildInfo()
if !ok {
utils.Println("failed to fetch current version")
os.Exit(1)
}
githubTag := &latest.GithubTag{
Owner: "celogeek",
Repository: "go-comic-converter",
}
v, err := githubTag.Fetch()
if err != nil || len(v.Versions) < 1 {
utils.Println("failed to fetch the latest version")
os.Exit(1)
}
latestVersion := v.Versions[0]
utils.Printf(`go-comic-converter
Path : %s Path : %s
Sum : %s Sum : %s
Version : %s Version : %s
@ -55,47 +70,54 @@ func main() {
To install the latest version: To install the latest version:
$ go install github.com/celogeek/go-comic-converter/v%d@%s $ go install github.com/celogeek/go-comic-converter/v%d@%s
`, `,
bi.Main.Path, bi.Main.Path,
bi.Main.Sum, bi.Main.Sum,
bi.Main.Version, bi.Main.Version,
latestVersion.Original(), latestVersion.Original(),
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)
}
utils.Printf(
"%s%s\n\nSaving to %s\n",
cmd.Options.Header(),
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
return
} }
utils.Printf(
"%s%s\n\nSaving to %s\n",
cmd.Options.Header(),
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
}
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 }
func reset(cmd *converter.Converter) {
if err := cmd.Options.ResetConfig(); err != nil {
cmd.Fatal(err)
} }
utils.Printf(
if cmd.Options.Reset { "%s%s\n\nReset default to %s\n",
if err := cmd.Options.ResetConfig(); err != nil { cmd.Options.Header(),
cmd.Fatal(err) cmd.Options.ShowConfig(),
} cmd.Options.FileName(),
utils.Printf( )
"%s%s\n\nReset default to %s\n", if err := cmd.Options.ResetConfig(); err != nil {
cmd.Options.Header(), cmd.Fatal(err)
cmd.Options.ShowConfig(),
cmd.Options.FileName(),
)
return
} }
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)
} }