mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Merge branch 'noxer-master'
This commit is contained in:
commit
2fa69d1895
@ -8,7 +8,7 @@ import (
|
||||
|
||||
// MapToStrs takes a map of interfaces and returns a map of strings
|
||||
func MapToStrs(aMap map[string]interface{}) map[string]string {
|
||||
results := make(map[string]string)
|
||||
results := make(map[string]string, len(aMap))
|
||||
|
||||
for key, val := range aMap {
|
||||
results[key] = val.(string)
|
||||
@ -21,10 +21,10 @@ func MapToStrs(aMap map[string]interface{}) map[string]string {
|
||||
|
||||
// ToInts takes a slice of interfaces and returns a slice of ints
|
||||
func ToInts(slice []interface{}) []int {
|
||||
results := []int{}
|
||||
results := make([]int, len(slice))
|
||||
|
||||
for _, val := range slice {
|
||||
results = append(results, val.(int))
|
||||
for i, val := range slice {
|
||||
results[i] = val.(int)
|
||||
}
|
||||
|
||||
return results
|
||||
@ -32,14 +32,14 @@ func ToInts(slice []interface{}) []int {
|
||||
|
||||
// ToStrs takes a slice of interfaces and returns a slice of strings
|
||||
func ToStrs(slice []interface{}) []string {
|
||||
results := []string{}
|
||||
results := make([]string, len(slice))
|
||||
|
||||
for _, val := range slice {
|
||||
switch val.(type) {
|
||||
for i, val := range slice {
|
||||
switch t := val.(type) {
|
||||
case int:
|
||||
results = append(results, strconv.Itoa(val.(int)))
|
||||
results[i] = strconv.Itoa(t)
|
||||
case string:
|
||||
results = append(results, val.(string))
|
||||
results[i] = t
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,10 +25,10 @@ func NameFromEmail(email string) string {
|
||||
// > []string{"Test_user", "Other_user"}
|
||||
//
|
||||
func NamesFromEmails(emails []string) []string {
|
||||
names := []string{}
|
||||
names := make([]string, len(emails))
|
||||
|
||||
for _, email := range emails {
|
||||
names = append(names, NameFromEmail(email))
|
||||
for i, email := range emails {
|
||||
names[i] = NameFromEmail(email)
|
||||
}
|
||||
|
||||
return names
|
||||
|
@ -6,7 +6,7 @@ package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os/user"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
@ -37,14 +37,5 @@ func ExpandHomeDir(path string) (string, error) {
|
||||
// Home returns the home directory for the executing user.
|
||||
// An error is returned if a home directory cannot be detected.
|
||||
func Home() (string, error) {
|
||||
currentUser, err := user.Current()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
if currentUser.HomeDir == "" {
|
||||
return "", errors.New("cannot find user-specific home dir")
|
||||
}
|
||||
|
||||
return currentUser.HomeDir, nil
|
||||
return os.UserHomeDir()
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package utils
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os/exec"
|
||||
@ -48,26 +47,14 @@ func ExecuteCommand(cmd *exec.Cmd) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return fmt.Sprintf("%v\n", err)
|
||||
buf := &bytes.Buffer{}
|
||||
cmd.Stdout = buf
|
||||
|
||||
if err := cmd.Run(); err != nil {
|
||||
return err.Error()
|
||||
}
|
||||
|
||||
if err := cmd.Start(); err != nil {
|
||||
return fmt.Sprintf("%v\n", err)
|
||||
}
|
||||
|
||||
var str string
|
||||
if b, err := ioutil.ReadAll(stdout); err == nil {
|
||||
str += string(b)
|
||||
}
|
||||
|
||||
err = cmd.Wait()
|
||||
if err != nil {
|
||||
return fmt.Sprintf("%v\n", err)
|
||||
}
|
||||
|
||||
return str
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
// FindMatch takes a regex pattern and a string of data and returns back all the matches
|
||||
@ -130,21 +117,8 @@ func ReadFileBytes(filePath string) ([]byte, error) {
|
||||
|
||||
// ParseJson is a standard JSON reader from text
|
||||
func ParseJson(obj interface{}, text io.Reader) error {
|
||||
jsonStream, err := ioutil.ReadAll(text)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
decoder := json.NewDecoder(bytes.NewReader(jsonStream))
|
||||
|
||||
for {
|
||||
if err := decoder.Decode(obj); err == io.EOF {
|
||||
break
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
d := json.NewDecoder(text)
|
||||
return d.Decode(obj)
|
||||
}
|
||||
|
||||
// CalculateDimensions reads the module dimensions from the module and global config. The border is already substracted.
|
||||
|
Loading…
x
Reference in New Issue
Block a user