1
0
mirror of https://github.com/zu1k/nali.git synced 2025-01-22 13:19:02 +08:00
nali/cmd/update.go
Zhiyong(Johnny) Zhao f2bec94681 fix: fix self-update bugs
1. added -v for update command, only update binary when -v is assigned;
2. removed the reference to semver library, implemented repo version compare functions;
3. edited release-aur-git rule in go.yml, won't replace the hyphen to dot in release version;
2023-09-28 16:31:29 -04:00

42 lines
1.1 KiB
Go

package cmd
import (
"log"
"strings"
"github.com/zu1k/nali/internal/db"
"github.com/zu1k/nali/internal/repo"
"github.com/spf13/cobra"
)
// updateCmd represents the update command
var updateCmd = &cobra.Command{
Use: "update [--db dbs -v]",
Short: "update qqwry, zxipv6wry, ip2region ip database and cdn, update nali to latest version if -v",
Long: `update qqwry, zxipv6wry, ip2region ip database and cdn. Use commas to separate. update nali to latest version if -v`,
Example: "nali update --db qqwry,cdn -v",
Run: func(cmd *cobra.Command, args []string) {
DBs, _ := cmd.Flags().GetString("db")
version, _ := cmd.Flags().GetBool("v")
if version {
if err := repo.UpdateRepo(); err != nil {
log.Printf("update nali to latest version failed: %v \n", err)
}
}
var DBNameArray []string
if DBs != "" {
DBNameArray = strings.Split(DBs, ",")
}
db.UpdateDB(DBNameArray...)
},
}
func init() {
updateCmd.PersistentFlags().String("db", "", "choose db you want to update")
updateCmd.PersistentFlags().Bool("v", false, "decide whether to update the nali version")
rootCmd.AddCommand(updateCmd)
}