From 5787b3e5d3bd1132be80d87ac2529212be3bfb80 Mon Sep 17 00:00:00 2001 From: Jguer Date: Mon, 5 Sep 2016 23:47:36 +0100 Subject: [PATCH] Refactorings --- src/aur.go | 21 ++++++++++++++++----- src/main.go | 17 ++++++++++++----- src/repo.go | 7 ++++--- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/aur.go b/src/aur.go index f0bb2e4a..fb88dff0 100644 --- a/src/aur.go +++ b/src/aur.go @@ -3,7 +3,6 @@ package main import ( "encoding/json" "fmt" - c "github.com/fatih/color" "net/http" "sort" ) @@ -64,20 +63,32 @@ func searchAurPackages(pkg string) (search AurSearch) { } func (r AurSearch) printSearch(index int) (err error) { - yellow := c.New(c.FgYellow).SprintFunc() - green := c.New(c.FgGreen).SprintFunc() for i, result := range r.Results { if index != SearchMode { - fmt.Printf("%d aur/%s %s (%d)\n %s\n", i+index, yellow(result.Name), green(result.Version), result.NumVotes, result.Description) + fmt.Printf("%d aur/\x1B[33m%s\033[0m \x1B[36m%s\033[0m (%d)\n %s\n", + i+index, result.Name, result.Version, result.NumVotes, result.Description) } else { - fmt.Printf("aur/%s %s (%d)\n %s\n", yellow(result.Name), green(result.Version), result.NumVotes, result.Description) + fmt.Printf("aur/\x1B[33m%s\033[0m \x1B[36m%s\033[0m (%d)\n %s\n", + result.Name, result.Version, result.NumVotes, result.Description) } } return } +func (r AurSearch) installAurArray(num []int, index int) (err error) { + for _, i := range num { + fmt.Printf("%+v\n\n", r.Results[i-index]) + err = r.Results[i-index].installResult() + if err != nil { + return err + } + } + + return err +} + func (a AurResult) installResult() error { return nil } diff --git a/src/main.go b/src/main.go index 1db41101..f4b8501e 100644 --- a/src/main.go +++ b/src/main.go @@ -4,7 +4,6 @@ import ( "bufio" "flag" "fmt" - c "github.com/fatih/color" "os" "strconv" "strings" @@ -16,11 +15,15 @@ const PacmanBin string = "/usr/bin/pacman" // SearchMode is search without numbers const SearchMode int = -1 +// BuildDir is the root for package building +const BuildDir string = "/tmp/yay/" + +// BaseURL givers the AUR default address +const BaseURL string = "https://aur.archlinux.org" + func getNums() (numbers []int, err error) { var numberString string - green := c.New(c.FgGreen).SprintFunc() - - fmt.Printf("%s\nNumbers:", green("Type numbers to install. Separate each number with a space.")) + fmt.Printf("\x1B[32m%s\033[0m\nNumbers:", "Type numbers to install. Separate each number with a space.") reader := bufio.NewReader(os.Stdin) numberString, err = reader.ReadString('\n') if err != nil { @@ -45,14 +48,18 @@ func getNums() (numbers []int, err error) { func defaultMode(pkg string) { aurRes := searchAurPackages(pkg) repoRes, err := SearchPackages(pkg) + if repoRes.Resultcount == 0 && aurRes.Resultcount == 0 { + os.Exit(1) + } repoRes.printSearch(0) err = aurRes.printSearch(repoRes.Resultcount) + nums, err := getNums() if err != nil { fmt.Println(err) os.Exit(1) } - fmt.Println(nums) + aurRes.installAurArray(nums, repoRes.Resultcount) } diff --git a/src/repo.go b/src/repo.go index 9869e490..007564cf 100644 --- a/src/repo.go +++ b/src/repo.go @@ -57,7 +57,6 @@ func SearchPackages(pkg string) (search RepoSearch, err error) { i = true } } - return } @@ -67,9 +66,11 @@ func (s RepoSearch) printSearch(index int) (err error) { for i, result := range s.Results { if index != SearchMode { - fmt.Printf("%d %s/%s %s\n%s\n", i, result.Repository, yellow(result.Name), green(result.Version), result.Description) + fmt.Printf("%d %s/\x1B[33m%s\033[0m \x1B[36m%s\033[0m\n%s\n", + i, result.Repository, result.Name, result.Version, result.Description) } else { - fmt.Printf("%s/%s %s\n%s\n", result.Repository, yellow(result.Name), green(result.Version), result.Description) + fmt.Printf("%s/\x1B[33m%s\033[0m \x1B[36m%s\033[0m\n%s\n", + result.Repository, yellow(result.Name), green(result.Version), result.Description) } }