new site works in an empty directory now

This commit is contained in:
spf13 2014-05-19 09:16:40 -04:00
parent df4bbcef30
commit 6b8244ba67
2 changed files with 35 additions and 1 deletions

View file

@ -110,7 +110,12 @@ func NewSite(cmd *cobra.Command, args []string) {
}
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")

View file

@ -72,6 +72,35 @@ func DirExists(path string) (bool, error) {
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)