This commit is contained in:
2025-04-13 19:54:04 +03:00
parent f26b72b2a2
commit b8cb7af3bb
14 changed files with 213 additions and 261 deletions

28
info.go
View File

@ -21,7 +21,6 @@ package main
import (
"fmt"
"log/slog"
"os"
"github.com/jeandeaual/go-locale"
@ -66,8 +65,7 @@ func InfoCmd() *cli.Command {
result, err := deps.DB.GetPkgs(c.Context, "true")
if err != nil {
slog.Error(gotext.Get("Error getting packages"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error getting packages"), err)
}
defer result.Close()
@ -75,8 +73,7 @@ func InfoCmd() *cli.Command {
var pkg database.Package
err = result.StructScan(&pkg)
if err != nil {
slog.Error(gotext.Get("Error iterating over packages"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error iterating over packages"), err)
}
fmt.Println(pkg.Name)
@ -110,13 +107,11 @@ func InfoCmd() *cli.Command {
found, _, err := rs.FindPkgs(ctx, args.Slice())
if err != nil {
slog.Error(gotext.Get("Error finding packages"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error finding packages"), err)
}
if len(found) == 0 {
slog.Error(gotext.Get("Package not found"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Package not found"), err)
}
pkgs := cliutils.FlattenPkgs(ctx, found, "show", c.Bool("interactive"))
@ -126,8 +121,7 @@ func InfoCmd() *cli.Command {
systemLang, err := locale.GetLanguage()
if err != nil {
slog.Error(gotext.Get("Can't detect system language"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Can't detect system language"), err)
}
if systemLang == "" {
systemLang = "en"
@ -136,8 +130,7 @@ func InfoCmd() *cli.Command {
if !all {
info, err := distro.ParseOSRelease(ctx)
if err != nil {
slog.Error(gotext.Get("Error parsing os-release file"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error parsing os-release file"), err)
}
names, err = overrides.Resolve(
info,
@ -145,8 +138,7 @@ func InfoCmd() *cli.Command {
WithLanguages([]string{systemLang}),
)
if err != nil {
slog.Error(gotext.Get("Error resolving overrides"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error resolving overrides"), err)
}
}
@ -154,14 +146,12 @@ func InfoCmd() *cli.Command {
if !all {
err = yaml.NewEncoder(os.Stdout).Encode(overrides.ResolvePackage(&pkg, names))
if err != nil {
slog.Error(gotext.Get("Error encoding script variables"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error encoding script variables"), err)
}
} else {
err = yaml.NewEncoder(os.Stdout).Encode(pkg)
if err != nil {
slog.Error(gotext.Get("Error encoding script variables"))
return cli.Exit(err, 1)
return cliutils.FormatCliExit(gotext.Get("Error encoding script variables"), err)
}
}