From 4a4f372605d56f2241699da6a5bf8dae7eda2b86 Mon Sep 17 00:00:00 2001 From: Nikolaus Gotsche Date: Wed, 5 Sep 2018 04:10:54 +0200 Subject: TOML Configuration added. texification working. outsourced some functions to my utilitys. billed tasks not yet checked --- utils.go | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 utils.go (limited to 'utils.go') diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..c94f94b --- /dev/null +++ b/utils.go @@ -0,0 +1,97 @@ +package main + +import ( + "fmt" + "bufio" + "os" + "strings" + "strconv" + "runtime" +) + +func isSure(quest string) bool { + fmt.Printf("%s (type 'y/Y/yes' to confirm) : ",quest) + in := bufio.NewReader(os.Stdin) + line, err := in.ReadString('\n') + if(runtime.GOOS == "windows"){ + line = strings.TrimSuffix(line, "\r\n") //for Windows + }else{ + line = strings.TrimSuffix(line, "\n") + } + checkErr(err) + + if ( line == "yes" || line == "y" || line == "Y") { + return true + } else { + return false + } +} + +func checkErr(err error) { + if err != nil { + panic(err) + } +} + +func getInput(quest string) string { + fmt.Print(quest) + in := bufio.NewReader(os.Stdin) + line, err := in.ReadString('\n') + if(runtime.GOOS == "windows"){ + line = strings.TrimSuffix(line, "\r\n") //for Windows + }else{ + line = strings.TrimSuffix(line, "\n") + } + checkErr(err) + return line +} + +func getNewInput(quest,old string) string { + if old != "" { + fmt.Println("Current:",old) + } + fmt.Print(quest) + in := bufio.NewReader(os.Stdin) + line, err := in.ReadString('\n') + if(runtime.GOOS == "windows"){ + line = strings.TrimSuffix(line, "\r\n") //for Windows + }else{ + line = strings.TrimSuffix(line, "\n") + } + checkErr(err) + if line == "" { + return old + }else{ + return line + } +} + +func stringArray2String(in []string, delim string) (string) { + var out string + for i,a := range in { + if i==0 { + out=a + }else{ + out=fmt.Sprintf("%s%s%s",out,delim,a) + } + } + return out +} + +func string2FloatArray(in string,delim string)(out []float64) { + read := strings.Split(in,delim) + for _,s := range read{ + fs,err := strconv.ParseFloat(s,64) + checkErr(err) + out = append(out,fs) + } + return +} + +func string2StringArray(in string,delim string)(out []string) { + read := strings.Split(in,delim) + for _,s := range read{ + out = append(out,s) + } + return +} -- cgit v1.2.3