summaryrefslogtreecommitdiff
path: root/internal/install/utils.go
diff options
context:
space:
mode:
authorEyal Posener <[email protected]>2019-11-19 05:16:51 +0200
committerEyal Posener <[email protected]>2019-11-19 05:17:52 +0200
commitc3bfbddfe6b4d133259ee84a9f0f93a7d1b0971e (patch)
treed19ec98986d382d17f040787fb9f851b0b97b6fd /internal/install/utils.go
parentca6cedb61484d2a211c105900f663e355b13626a (diff)
Move install package back to project root
Diffstat (limited to 'internal/install/utils.go')
-rw-r--r--internal/install/utils.go140
1 files changed, 0 insertions, 140 deletions
diff --git a/internal/install/utils.go b/internal/install/utils.go
deleted file mode 100644
index d34ac8c..0000000
--- a/internal/install/utils.go
+++ /dev/null
@@ -1,140 +0,0 @@
-package install
-
-import (
- "bufio"
- "fmt"
- "io"
- "io/ioutil"
- "os"
- "path/filepath"
-)
-
-func lineInFile(name string, lookFor string) bool {
- f, err := os.Open(name)
- if err != nil {
- return false
- }
- defer f.Close()
- r := bufio.NewReader(f)
- prefix := []byte{}
- for {
- line, isPrefix, err := r.ReadLine()
- if err == io.EOF {
- return false
- }
- if err != nil {
- return false
- }
- if isPrefix {
- prefix = append(prefix, line...)
- continue
- }
- line = append(prefix, line...)
- if string(line) == lookFor {
- return true
- }
- prefix = prefix[:0]
- }
-}
-
-func createFile(name string, content string) error {
- // make sure file directory exists
- if err := os.MkdirAll(filepath.Dir(name), 0775); err != nil {
- return err
- }
-
- // create the file
- f, err := os.Create(name)
- if err != nil {
- return err
- }
- defer f.Close()
-
- // write file content
- _, err = f.WriteString(fmt.Sprintf("%s\n", content))
- return err
-}
-
-func appendToFile(name string, content string) error {
- f, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0)
- if err != nil {
- return err
- }
- defer f.Close()
- _, err = f.WriteString(fmt.Sprintf("\n%s\n", content))
- return err
-}
-
-func removeFromFile(name string, content string) error {
- backup := name + ".bck"
- err := copyFile(name, backup)
- if err != nil {
- return err
- }
- temp, err := removeContentToTempFile(name, content)
- if err != nil {
- return err
- }
-
- err = copyFile(temp, name)
- if err != nil {
- return err
- }
-
- return os.Remove(backup)
-}
-
-func removeContentToTempFile(name, content string) (string, error) {
- rf, err := os.Open(name)
- if err != nil {
- return "", err
- }
- defer rf.Close()
- wf, err := ioutil.TempFile("/tmp", "complete-")
- if err != nil {
- return "", err
- }
- defer wf.Close()
-
- r := bufio.NewReader(rf)
- prefix := []byte{}
- for {
- line, isPrefix, err := r.ReadLine()
- if err == io.EOF {
- break
- }
- if err != nil {
- return "", err
- }
- if isPrefix {
- prefix = append(prefix, line...)
- continue
- }
- line = append(prefix, line...)
- str := string(line)
- if str == content {
- continue
- }
- _, err = wf.WriteString(str + "\n")
- if err != nil {
- return "", err
- }
- prefix = prefix[:0]
- }
- return wf.Name(), nil
-}
-
-func copyFile(src string, dst string) error {
- in, err := os.Open(src)
- if err != nil {
- return err
- }
- defer in.Close()
- out, err := os.Create(dst)
- if err != nil {
- return err
- }
- defer out.Close()
- _, err = io.Copy(out, in)
- return err
-}