diff options
author | zelig <viktor.tron@gmail.com> | 2015-03-16 23:50:29 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2015-03-16 23:50:29 +0800 |
commit | b3e133dd159749a625c4b0245af293607ba12c8c (patch) | |
tree | 9ba8e8c4afe9168f5bc83219d402efb00387d616 /common/path.go | |
parent | 8139d444f8d8163251d1c96ef8034d186825ce32 (diff) | |
parent | 73af0302bed5076260ac935e452064aee423934d (diff) | |
download | go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar.gz go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar.bz2 go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar.lz go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar.xz go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.tar.zst go-tangerine-b3e133dd159749a625c4b0245af293607ba12c8c.zip |
Merge branch 'frontier/js' into frontier/nodeadmin.js
Diffstat (limited to 'common/path.go')
-rw-r--r-- | common/path.go | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/common/path.go b/common/path.go new file mode 100644 index 000000000..680c8366c --- /dev/null +++ b/common/path.go @@ -0,0 +1,68 @@ +package common + +import ( + "io/ioutil" + "os" + "os/user" + "path" + "strings" +) + +func ExpandHomePath(p string) (path string) { + path = p + + // Check in case of paths like "/something/~/something/" + if len(path) > 1 && path[:2] == "~/" { + usr, _ := user.Current() + dir := usr.HomeDir + + path = strings.Replace(p, "~", dir, 1) + } + + 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_TRUNC|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 +} + +func AbsolutePath(Datadir string, filename string) string { + if path.IsAbs(filename) { + return filename + } + return path.Join(Datadir, filename) +} |