Clean up and util methods

This commit is contained in:
obscuren
2014-07-26 11:24:44 +02:00
parent 92ffc1cc4c
commit 41bd38147c
7 changed files with 67 additions and 26 deletions

View File

@ -98,6 +98,7 @@ func Bytes2Hex(d []byte) string {
func Hex2Bytes(str string) []byte {
h, _ := hex.DecodeString(str)
return h
}

View File

@ -3,8 +3,9 @@ package ethutil
import (
"flag"
"fmt"
"github.com/rakyll/globalconf"
"os"
"github.com/rakyll/globalconf"
)
// Config struct
@ -28,8 +29,7 @@ var Config *ConfigManager
func ReadConfig(ConfigFile string, Datadir string, EnvPrefix string) *ConfigManager {
if Config == nil {
// create ConfigFile if does not exist, otherwise globalconf panic when trying to persist flags
_, err := os.Stat(ConfigFile)
if err != nil && os.IsNotExist(err) {
if !FileExist(ConfigFile) {
fmt.Printf("config file '%s' doesn't exist, creating it\n", ConfigFile)
os.Create(ConfigFile)
}

View File

@ -1,6 +1,8 @@
package ethutil
import (
"io/ioutil"
"os"
"os/user"
"strings"
)
@ -18,3 +20,41 @@ func ExpandHomePath(p string) (path string) {
return
}
func FileExist(filePath string) bool {
_, err := os.Stat(filePath)
if err != nil && os.IsNotExist(err) {
return false
}
return true
}
func ReadAllFile(filePath string) (string, error) {
file, err := os.Open(filePath)
if err != nil {
return "", err
}
data, err := ioutil.ReadAll(file)
if err != nil {
return "", err
}
return string(data), nil
}
func WriteFile(filePath string, content []byte) error {
fh, err := os.OpenFile(filePath, os.O_RDWR|os.O_CREATE, os.ModePerm)
if err != nil {
return err
}
defer fh.Close()
_, err = fh.Write(content)
if err != nil {
return err
}
return nil
}