ref: 6b8244ba67cede0c2c95bde695cf3c54002bce74
parent: df4bbcef30250f6bd22e38ee2dc3314f2c786f20
author: spf13 <steve.francia@gmail.com>
date: Mon May 19 05:16:40 EDT 2014
new site works in an empty directory now
--- a/commands/new.go
+++ b/commands/new.go
@@ -110,7 +110,12 @@
}
if x, _ := helpers.Exists(createpath); x {- jww.FATAL.Fatalln(createpath, "already exists")
+ y, _ := helpers.IsDir(createpath)
+ if z, _ := helpers.IsEmpty(createpath); y && z {+ jww.INFO.Println(createpath, "already exists and is empty")
+ } else {+ jww.FATAL.Fatalln(createpath, "already exists and is not empty")
+ }
}
mkdir(createpath, "layouts")
--- a/helpers/path.go
+++ b/helpers/path.go
@@ -72,6 +72,35 @@
return false, err
}
+func IsDir(path string) (bool, error) {+ fi, err := os.Stat(path)
+ if err != nil {+ return false, err
+ }
+ return fi.IsDir(), nil
+}
+
+func IsEmpty(path string) (bool, error) {+ if b, _ := Exists(path); !b {+ return false, fmt.Errorf("%q path does not exist", path)+ }
+ fi, err := os.Stat(path)
+ if err != nil {+ return false, err
+ }
+ if fi.IsDir() {+ f, err := os.Open(path)
+ if err != nil {+ return false, err
+ }
+ list, err := f.Readdir(-1)
+ f.Close()
+ return len(list) == 0, nil
+ } else {+ return fi.Size() == 0, nil
+ }
+}
+
// Check if File / Directory Exists
func Exists(path string) (bool, error) {_, err := os.Stat(path)
--
⑨