refactor: make output *beautiful*
This commit is contained in:
parent
ba63fd7c8a
commit
2fd5aa3082
@ -26,8 +26,25 @@ var getVersionsCmd = &cobra.Command{
|
|||||||
versions := GetVersions(args[0])
|
versions := GetVersions(args[0])
|
||||||
sortedVersions := sortByKeys(versions)
|
sortedVersions := sortByKeys(versions)
|
||||||
|
|
||||||
for _, k := range sortedVersions {
|
for i, k := range sortedVersions {
|
||||||
fmt.Println("Date: "+k.Value.Format(time.DateTime), "Version: "+k.Key)
|
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)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
30
cmd/root.go
30
cmd/root.go
@ -2,6 +2,7 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"log"
|
"log"
|
||||||
@ -11,9 +12,9 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// Flags
|
// Flags
|
||||||
IgnoreUpgrade bool
|
Mask bool
|
||||||
Unmask bool
|
Unmask bool
|
||||||
Version string
|
Version string
|
||||||
|
|
||||||
// Args
|
// Args
|
||||||
PkgName string
|
PkgName string
|
||||||
@ -21,7 +22,7 @@ var (
|
|||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
Use: "flatpak-downgrade",
|
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),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
PkgName = args[0]
|
PkgName = args[0]
|
||||||
@ -30,11 +31,16 @@ var rootCmd = &cobra.Command{
|
|||||||
Version = GetPreviousVersion(PkgName)
|
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)
|
fmt.Println("Downgrading ", PkgName, "to ", Version)
|
||||||
|
|
||||||
cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName)
|
cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName)
|
||||||
@ -45,19 +51,19 @@ func downgrade() {
|
|||||||
|
|
||||||
err := cmd.Run()
|
err := cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if IgnoreUpgrade && Unmask {
|
if Mask && Unmask {
|
||||||
log.Fatal("Error: Cannot use both --ignore-upgrade and --unmask flags together.")
|
return errors.New("please choose either --mask or --unmask, not both")
|
||||||
}
|
}
|
||||||
if IgnoreUpgrade {
|
if Mask {
|
||||||
mask()
|
mask()
|
||||||
} else if Unmask {
|
} else if Unmask {
|
||||||
unmask()
|
unmask()
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("Downgrade successful!")
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func mask() {
|
func mask() {
|
||||||
@ -87,7 +93,7 @@ func Execute() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
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().BoolVarP(&Unmask, "unmask", "u", false, "Mark flatpak as upgradable")
|
||||||
rootCmd.Flags().StringVarP(&Version, "version", "v", "", "Commit hash of the specific version")
|
rootCmd.Flags().StringVarP(&Version, "version", "v", "", "Commit hash of the specific version")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user