Changed some wrong variables name and added info command to see every data from index.db, maybe info will use internet to get from servidordomal.fun
This commit is contained in:
		@@ -364,6 +364,51 @@ var upgradeCmd = &cobra.Command{
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var infoCmd = &cobra.Command{
 | 
			
		||||
	Use:   "info {name}",
 | 
			
		||||
	Short: "Get technical package information",
 | 
			
		||||
	Args:  cobra.MinimumNArgs(1),
 | 
			
		||||
	Run: func(cmd *cobra.Command, args []string) {
 | 
			
		||||
 | 
			
		||||
		_, err := os.Stat(filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if os.IsNotExist(err) {
 | 
			
		||||
				fmt.Println("cant find index.db, please use sync first")
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		db, err := sql.Open("sqlite", filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Fatal("cant find index.db, please use sync first")
 | 
			
		||||
		}
 | 
			
		||||
		defer db.Close()
 | 
			
		||||
 | 
			
		||||
		var name, version, hash, description, mirrorsRaw, family string
 | 
			
		||||
		var dependenciesRaw *string
 | 
			
		||||
		var dependencies, mirrors []string
 | 
			
		||||
		var serial int
 | 
			
		||||
 | 
			
		||||
		if err := db.QueryRow("SELECT name, version, hash, description, dependencies, mirrors, family, serial FROM packages WHERE realname = ?", args[0]).Scan(&name, &version, &hash, &description, &dependenciesRaw, &mirrorsRaw, &family, &serial); err != nil {
 | 
			
		||||
			if err == sql.ErrNoRows {
 | 
			
		||||
				fmt.Printf("cant find any result for %s\n", args[0])
 | 
			
		||||
				os.Exit(1)
 | 
			
		||||
			} else {
 | 
			
		||||
				log.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if dependenciesRaw != nil {
 | 
			
		||||
			dependencies = strings.Fields(*dependenciesRaw)
 | 
			
		||||
		} else {
 | 
			
		||||
			dependencies = []string{}
 | 
			
		||||
		}
 | 
			
		||||
		mirrors = strings.Fields(mirrorsRaw)
 | 
			
		||||
 | 
			
		||||
		fmt.Printf(":: Package %s : %s\n:: (%s)\n    %s\n    Dependencies: %v\n    Mirrors: %v\n    ---------------------------------\n    Family: %s\n    Serial: %d\n    SHA256sum: %s\n", args[0], version, name, description, dependencies, mirrors, family, serial, hash)
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
 | 
			
		||||
	if runtime.GOOS == "linux" {
 | 
			
		||||
@@ -376,25 +421,27 @@ func main() {
 | 
			
		||||
	// ABOUT CONFIG.TOML
 | 
			
		||||
	PacketsDir = internal.PacketsPackageDir()
 | 
			
		||||
	_, err := os.Stat(filepath.Join(PacketsDir, "config.toml"))
 | 
			
		||||
	if os.IsNotExist(err) {
 | 
			
		||||
		fmt.Println("can't find config.toml, generating a default one")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			fmt.Println("can't find config.toml, generating a default one")
 | 
			
		||||
 | 
			
		||||
		os.MkdirAll(PacketsDir, 0644)
 | 
			
		||||
		file, err := os.Create(filepath.Join(PacketsDir, "config.toml"))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Fatal(err)
 | 
			
		||||
			os.MkdirAll(PacketsDir, 0644)
 | 
			
		||||
			file, err := os.Create(filepath.Join(PacketsDir, "config.toml"))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				log.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
			defer file.Close()
 | 
			
		||||
 | 
			
		||||
			cfg := internal.DefaultConfigTOML()
 | 
			
		||||
 | 
			
		||||
			encoder := toml.NewEncoder(file)
 | 
			
		||||
 | 
			
		||||
			if err := encoder.Encode(cfg); err != nil {
 | 
			
		||||
				log.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
			file.WriteString("\n\n# BE CAREFULL CHANGING BIN_DIR, BECAUSE THE BINARIES DON'T MOVE AUTOMATICALLY\n# NEVER CHANGE lastDataDir")
 | 
			
		||||
			fmt.Println("Operation Sucess!")
 | 
			
		||||
		}
 | 
			
		||||
		defer file.Close()
 | 
			
		||||
 | 
			
		||||
		cfg := internal.DefaultConfigTOML()
 | 
			
		||||
 | 
			
		||||
		encoder := toml.NewEncoder(file)
 | 
			
		||||
 | 
			
		||||
		if err := encoder.Encode(cfg); err != nil {
 | 
			
		||||
			log.Fatal(err)
 | 
			
		||||
		}
 | 
			
		||||
		file.WriteString("\n\n# BE CAREFULL CHANGING BIN_DIR, BECAUSE THE BINARIES DON'T MOVE AUTOMATICALLY\n# NEVER CHANGE lastDataDir")
 | 
			
		||||
		fmt.Println("Operation Sucess!")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_, err = toml.DecodeFile(filepath.Join(PacketsDir, "config.toml"), &cfg)
 | 
			
		||||
@@ -421,6 +468,8 @@ func main() {
 | 
			
		||||
	rootCmd.AddCommand(listCmd)
 | 
			
		||||
	rootCmd.AddCommand(searchCmd)
 | 
			
		||||
 | 
			
		||||
	rootCmd.AddCommand(infoCmd)
 | 
			
		||||
 | 
			
		||||
	rootCmd.Execute()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -715,11 +764,12 @@ func GetPackageByMirror(mirror string, realname string) error {
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
 | 
			
		||||
	if resp.StatusCode != 200 {
 | 
			
		||||
		err := os.Remove(filepath.Join(cfg.Config.CacheDir, filename))
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			return fmt.Errorf("failed to download, status code not 200OK")
 | 
			
		||||
		} else if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		if err := os.Remove(filepath.Join(cfg.Config.CacheDir, filename)); err != nil {
 | 
			
		||||
			if os.IsNotExist(err) {
 | 
			
		||||
				return fmt.Errorf("failed to download, status code not 200OK")
 | 
			
		||||
			} else {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return fmt.Errorf("failed to download, status code not 200OK")
 | 
			
		||||
	}
 | 
			
		||||
@@ -799,8 +849,10 @@ func ResolvDependencies(realname string) {
 | 
			
		||||
func QueryInstall(realname string) {
 | 
			
		||||
 | 
			
		||||
	_, err := os.Stat(filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
	if os.IsNotExist(err) {
 | 
			
		||||
		fmt.Println("cant find index.db, please use sync first")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			fmt.Println("cant find index.db, please use sync first")
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db, err := sql.Open("sqlite", filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
@@ -934,12 +986,14 @@ func QueryInstall(realname string) {
 | 
			
		||||
func CheckDownloaded(filename string) bool {
 | 
			
		||||
 | 
			
		||||
	_, err := os.Stat(filepath.Join(cfg.Config.CacheDir, filename))
 | 
			
		||||
	if os.IsNotExist(err) {
 | 
			
		||||
		return false
 | 
			
		||||
	} else {
 | 
			
		||||
		return true
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			return false
 | 
			
		||||
		} else {
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Validate(filename string, realname string) error {
 | 
			
		||||
@@ -1060,8 +1114,10 @@ func Sync(url string) error {
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
	_, err = os.Stat(filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
 | 
			
		||||
	if os.IsNotExist(err) {
 | 
			
		||||
		os.MkdirAll(PacketsDir, 0755)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			os.MkdirAll(PacketsDir, 0755)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	f, err := os.Create(filepath.Join(PacketsDir, "index.db"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user