simplify makeDirs() (#233)

This commit is contained in:
zonescape
2018-12-18 09:03:15 -06:00
committed by Umputun
parent 1ccbf3328f
commit 20bb780deb
+4 -21
View File
@@ -101,28 +101,11 @@ func responseError(resp *http.Response) error {
// mkdir -p for all dirs
func makeDirs(dirs ...string) error {
// exists returns whether the given file or directory exists or not
exists := func(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return true, err
}
for _, dir := range dirs {
ex, err := exists(dir)
if err != nil {
return errors.Wrapf(err, "can't check directory status for %s", dir)
}
if !ex {
if e := os.MkdirAll(dir, 0700); e != nil {
return errors.Wrapf(err, "can't make directory %s", dir)
}
// From docs: "If path is already a directory, MkdirAll does nothing
// and returns nil".
if err := os.MkdirAll(dir, 0700); err != nil {
return errors.Wrapf(err, "can't make directory %s", dir)
}
}
return nil