SEBRAUC/src/util/util.go
Theta-Dev b1b3ab3ff6
All checks were successful
continuous-integration/drone/push Build is passing
add dynamic versioning
2021-11-21 23:29:37 +01:00

49 lines
879 B
Go

package util
import (
"os"
"os/exec"
"path/filepath"
"strings"
"time"
)
const tmpdirName = "sebrauc"
func DoesFileExist(filepath string) bool {
_, err := os.Stat(filepath)
return !os.IsNotExist(err)
}
func CreateDirIfNotExists(dirpath string) error {
if _, err := os.Stat(dirpath); os.IsNotExist(err) {
createErr := os.MkdirAll(dirpath, 0o777)
if createErr != nil {
return createErr
}
}
return nil
}
func GetTmpdir() (string, error) {
tmpdir := filepath.Join(os.TempDir(), tmpdirName)
err := CreateDirIfNotExists(tmpdir)
return tmpdir, err
}
func CommandFromString(cmdString string) *exec.Cmd {
parts := strings.Split(cmdString, " ")
if len(parts) == 0 {
return exec.Command("")
}
//nolint:gosec
return exec.Command(parts[0], parts[1:]...)
}
func Reboot(t time.Duration) {
time.Sleep(t)
cmd := CommandFromString(RebootCmd)
_ = cmd.Run()
}