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