package config import ( "os" "path/filepath" "github.com/writeas/writeas-cli/fileutils" "github.com/writeas/writeas-cli/log" ) // UserDataDir returns a platform specific directory under the user's home // directory func UserDataDir(dataDirName string) string { return filepath.Join(parentDataDir(), dataDirName) } func dataDirExists(dataDirName string) bool { return fileutils.Exists(dataDirName) } func createDataDir(dataDirName string) error { return os.Mkdir(dataDirName, 0700) } // DirMustExist checks for a directory, creates it if not found and either // panics or logs and error depending on the status of Debug func DirMustExist(dataDirName string) { // Ensure we have a data directory to use if !dataDirExists(dataDirName) { err := createDataDir(dataDirName) if err != nil { if Debug() { panic(err) } else { log.Errorln("Error creating data directory: %s", err) return } } } }