refactor: make output *beautiful*

This commit is contained in:
Mark Bailey 2024-09-14 15:29:26 -04:00
parent ba63fd7c8a
commit 2fd5aa3082
2 changed files with 37 additions and 14 deletions

View File

@ -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)
}
},
}

View File

@ -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")
}