Fixes #75. Needs sudo. Prints number of updates and update list.

This commit is contained in:
Jguer 2018-01-25 20:39:26 +00:00
parent b65dd862cc
commit a4d0ef108f
No known key found for this signature in database
GPG key ID: 09754DBECF21746F
2 changed files with 42 additions and 0 deletions

8
cmd.go
View file

@ -361,7 +361,15 @@ func handlePrint() (err error) {
case cmdArgs.existsArg("d", "defaultconfig"):
fmt.Printf("%#v", config)
case cmdArgs.existsArg("n", "numberupgrades"):
err = printNumberOfUpdates()
if err != nil {
return
}
case cmdArgs.existsArg("u", "upgrades"):
err = printUpdateList()
if err != nil {
return
}
case cmdArgs.existsArg("c", "complete"):
switch {
case cmdArgs.existsArg("f", "fish"):

View file

@ -2,6 +2,7 @@ package main
import (
"fmt"
"os"
"strings"
rpc "github.com/mikkeloscar/aur"
@ -263,3 +264,36 @@ func printMissing(missing stringSet) {
}
fmt.Println()
}
//todo make it less hacky
func printNumberOfUpdates() error {
old := os.Stdout // keep backup of the real stdout
os.Stdout = nil
aurUp, repoUp, err := upList()
os.Stdout = old // restoring the real stdout
if err != nil {
return err
}
fmt.Println(len(aurUp) + len(repoUp))
return nil
}
//todo make it less hacky
func printUpdateList() error {
old := os.Stdout // keep backup of the real stdout
os.Stdout = nil
aurUp, repoUp, err := upList()
os.Stdout = old // restoring the real stdout
if err != nil {
return err
}
for _, pkg := range repoUp {
fmt.Println(pkg.Name)
}
for _, pkg := range aurUp {
fmt.Println(pkg.Name)
}
return nil
}