diff --git a/cmd/utils.go b/cmd/utils.go index 65a3884e..72f0177c 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -62,18 +62,20 @@ type pythonData struct { func dbExists(path string) (bool, error) { stat, err := os.Stat(path) + if err == nil { + return stat.Size() != 0, nil + } if os.IsNotExist(err) { - return false, nil - } else if err != nil { - return false, err + d := filepath.Dir(path) + _, err = os.Stat(d) + if os.IsNotExist(err) { + os.MkdirAll(d, 0700) + return false, nil + } } - if stat.Size() == 0 { - return false, nil - } - - return true, nil + return false, err } func python(fn pythonFunc, cfg pythonConfig) cobraFunc {