Skip to content

Commit 127e88b

Browse files
authored
Merge pull request #15 from BlueWhaleKo/main
create ~/.escli directory if not exists when adding a new profile
2 parents f35657b + e89d33c commit 127e88b

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

internal/runner/profile.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"io"
2323
"io/ioutil"
2424
"os"
25+
"path/filepath"
2526

2627
"github.com/spf13/viper"
2728
"gopkg.in/yaml.v3"
@@ -93,6 +94,13 @@ func (r Runner) RemoveProfile(out io.Writer, args []string) error {
9394
func (r Runner) AddProfile(out io.Writer) error {
9495
cfgFile := viper.GetString("cfgFile")
9596

97+
if !util.DirExists(filepath.Dir(cfgFile)) {
98+
err := os.MkdirAll(filepath.Dir(cfgFile), 0755)
99+
if err != nil {
100+
return err
101+
}
102+
}
103+
96104
if !util.FileExists(cfgFile) {
97105
_, err := os.Create(cfgFile)
98106
if err != nil {

internal/util/util.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ func IsStringInArray(s string, arr []string) bool {
5959
return false
6060
}
6161

62+
func DirExists(filename string) bool {
63+
info, err := os.Stat(filename)
64+
if os.IsNotExist(err) {
65+
return false
66+
}
67+
return info.IsDir()
68+
}
69+
6270
func FileExists(filename string) bool {
6371
info, err := os.Stat(filename)
6472
if os.IsNotExist(err) {

0 commit comments

Comments
 (0)