From 2fd5aa30824fb738b1c8035b6c76f2cf5e03281c Mon Sep 17 00:00:00 2001 From: Mark Bailey Date: Sat, 14 Sep 2024 15:29:26 -0400 Subject: [PATCH] refactor: make output *beautiful* --- cmd/getVersions.go | 21 +++++++++++++++++++-- cmd/root.go | 30 ++++++++++++++++++------------ 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/cmd/getVersions.go b/cmd/getVersions.go index a74410e..cce04f4 100644 --- a/cmd/getVersions.go +++ b/cmd/getVersions.go @@ -26,8 +26,25 @@ var getVersionsCmd = &cobra.Command{ versions := GetVersions(args[0]) sortedVersions := sortByKeys(versions) - for _, k := range sortedVersions { - fmt.Println("Date: "+k.Value.Format(time.DateTime), "Version: "+k.Key) + for i, k := range sortedVersions { + dateOutput := "| Date: " + k.Value.Format(time.DateTime) + " | " + versionOutput := "Version: " + k.Key + " |" + dateLen := len(dateOutput) + versionLen := len(versionOutput) + headfoot := "|" + for i := 0; i < dateLen-3; i++ { + headfoot += "-" + } + headfoot += "+" + for i := 0; i < versionLen; i++ { + headfoot += "-" + } + headfoot += "|" + if i == 0 { + fmt.Println(headfoot) + } + fmt.Println(dateOutput + versionOutput) + fmt.Println(headfoot) } }, } diff --git a/cmd/root.go b/cmd/root.go index 43ed6ab..b036f0f 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -2,6 +2,7 @@ package cmd import ( + "errors" "fmt" "github.com/spf13/cobra" "log" @@ -11,9 +12,9 @@ import ( var ( // Flags - IgnoreUpgrade bool - Unmask bool - Version string + Mask bool + Unmask bool + Version string // Args PkgName string @@ -21,7 +22,7 @@ var ( var rootCmd = &cobra.Command{ Use: "flatpak-downgrade", - Short: "Used to downgrade flatpak applications to a previous version.", + Short: "Used to downgrade flatpak applications to a previous version", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { PkgName = args[0] @@ -30,11 +31,16 @@ var rootCmd = &cobra.Command{ Version = GetPreviousVersion(PkgName) } - downgrade() + if err := downgrade(); err != nil { + fmt.Println("\n\nFailed to downgrade ", PkgName, " to ", Version) + log.Fatal(err) + } else { + fmt.Println("Successfully downgraded ", PkgName, " to ", Version) + } }, } -func downgrade() { +func downgrade() error { fmt.Println("Downgrading ", PkgName, "to ", Version) cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName) @@ -45,19 +51,19 @@ func downgrade() { err := cmd.Run() if err != nil { - panic(err) + return err } - if IgnoreUpgrade && Unmask { - log.Fatal("Error: Cannot use both --ignore-upgrade and --unmask flags together.") + if Mask && Unmask { + return errors.New("please choose either --mask or --unmask, not both") } - if IgnoreUpgrade { + if Mask { mask() } else if Unmask { unmask() } - fmt.Println("Downgrade successful!") + return nil } func mask() { @@ -87,7 +93,7 @@ func Execute() { } func init() { - rootCmd.Flags().BoolVarP(&IgnoreUpgrade, "mask", "m", false, "Mark flatpak as ignored for upgrade") + rootCmd.Flags().BoolVarP(&Mask, "mask", "m", false, "Mark flatpak as ignored for upgrade") rootCmd.Flags().BoolVarP(&Unmask, "unmask", "u", false, "Mark flatpak as upgradable") rootCmd.Flags().StringVarP(&Version, "version", "v", "", "Commit hash of the specific version") }