39 lines
934 B
Go
39 lines
934 B
Go
package helper
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// CreateDirectory creates direcory with all missing parents and panic if error
|
|
func CreateDirectory(dir string) {
|
|
Log.Debugf("trying to create output directory: %s", dir)
|
|
|
|
if dirH, err := os.Stat(dir); os.IsNotExist(err) {
|
|
err := os.MkdirAll(dir, 0755)
|
|
if err != nil {
|
|
Log.Panicf("could not create output directory '%s': %s", dir, err)
|
|
}
|
|
Log.Noticef("created output directory: %s", dir)
|
|
} else if dirH != nil {
|
|
if dirH.IsDir() {
|
|
Log.Noticef("output directory '%s' already exists", dir)
|
|
} else {
|
|
Log.Panicf("output directory '%s' is no directory", dir)
|
|
}
|
|
} else {
|
|
Log.Panicf("unknown error for output directory '%s': %s", dir, err)
|
|
}
|
|
}
|
|
|
|
// BackToRoot builds ../../ string
|
|
func BackToRoot(curNavPath string) string {
|
|
tmpPath := ""
|
|
if curNavPath != "" {
|
|
for i := strings.Count(curNavPath, "/") + 1; i > 0; i-- {
|
|
tmpPath += "../"
|
|
}
|
|
}
|
|
return tmpPath
|
|
}
|