|
|
@@ -31,6 +31,21 @@ var VAR_DIR string
|
|
|
// 相机图片目录
|
|
|
var IMG_DIR string
|
|
|
|
|
|
+// 可选目录创建
|
|
|
+var OptDirs = struct {
|
|
|
+ Cfg bool
|
|
|
+ Run bool
|
|
|
+ Var bool
|
|
|
+ Img bool
|
|
|
+}{Cfg: true, Run: true, Var: true, Img: true}
|
|
|
+
|
|
|
+func SetOptDirs(cfgEnabled, runEnabled, varEnabled, imgEnabled bool) {
|
|
|
+ OptDirs.Cfg = cfgEnabled
|
|
|
+ OptDirs.Run = runEnabled
|
|
|
+ OptDirs.Var = varEnabled
|
|
|
+ OptDirs.Img = imgEnabled
|
|
|
+}
|
|
|
+
|
|
|
func InitPath() {
|
|
|
file, err := exec.LookPath(os.Args[0])
|
|
|
if err != nil {
|
|
|
@@ -53,7 +68,22 @@ func InitPath() {
|
|
|
VAR_DIR = filepath.Join(EXEC_DIR, "var")
|
|
|
IMG_DIR = filepath.Join(EXEC_DIR, "cam_img")
|
|
|
|
|
|
- for _, dir := range []string{CFG_DIR, LOG_DIR, RUN_DIR, VAR_DIR, IMG_DIR} {
|
|
|
+ createDirs := []string{LOG_DIR}
|
|
|
+
|
|
|
+ if OptDirs.Cfg {
|
|
|
+ createDirs = append(createDirs, CFG_DIR)
|
|
|
+ }
|
|
|
+ if OptDirs.Run {
|
|
|
+ createDirs = append(createDirs, RUN_DIR)
|
|
|
+ }
|
|
|
+ if OptDirs.Var {
|
|
|
+ createDirs = append(createDirs, VAR_DIR)
|
|
|
+ }
|
|
|
+ if OptDirs.Img {
|
|
|
+ createDirs = append(createDirs, IMG_DIR)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, dir := range createDirs {
|
|
|
if err := ExistsDir(dir, true); err != nil {
|
|
|
fmt.Printf("Failed to create the %s directory: %v\n", dir, err)
|
|
|
os.Exit(1)
|