Browse Source

add config.String() to pretty print default config in valid json

Sean Liao 7 years atrás
parent
commit
57773b6c2d
2 changed files with 13 additions and 3 deletions
  1. 2 3
      cmd.go
  2. 11 0
      config.go

+ 2 - 3
cmd.go

@@ -273,12 +273,11 @@ func sudoLoopBackground() {
 
 func sudoLoop() {
 	for {
-		updateSudo()	
+		updateSudo()
 		time.Sleep(298 * time.Second)
 	}
 }
 
-
 func updateSudo() {
 	for {
 		cmd := exec.Command("sudo", "-v")
@@ -398,7 +397,7 @@ func handleVersion() {
 func handlePrint() (err error) {
 	switch {
 	case cmdArgs.existsArg("d", "defaultconfig"):
-		fmt.Printf("%#v", config)
+		fmt.Printf("%v", config)
 	case cmdArgs.existsArg("n", "numberupgrades"):
 		err = printNumberOfUpdates()
 	case cmdArgs.existsArg("u", "upgrades"):

+ 11 - 0
config.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"bytes"
 	"encoding/json"
 	"fmt"
 	"os"
@@ -194,3 +195,13 @@ func continueTask(s string, def string) (cont bool) {
 
 	return true
 }
+
+func (config Configuration) String() string {
+	var buf bytes.Buffer
+	enc := json.NewEncoder(&buf)
+	enc.SetIndent("", "\t")
+	if err := enc.Encode(config); err != nil {
+		fmt.Println(err)
+	}
+	return buf.String()
+}