package utility

import (
	"github.com/sirupsen/logrus"
	"os"
)

func PathExists(path string) (bool, error) {
	info, err := os.Stat(path)
	if err == nil {
		return info.IsDir(), nil
	}
	return false, err
}

func FileExists(path string) (bool, error) {
	_, err := os.Stat(path)
	if err == nil {
		return true, nil
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	return false, err
}

// 判断文件夹是否存在
func HasDir(path string) (bool, error) {
	_, _err := os.Stat(path)
	if _err == nil {
		return true, nil
	}
	if os.IsNotExist(_err) {
		return false, nil
	}
	return false, _err
}

// 创建文件夹
func CreateDir(path string) {
	_exist, _err := HasDir(path)
	if _err != nil {
		logrus.Errorf("获取文件夹异常 -> %v\n", _err)
		return
	}
	if !_exist {
		err := os.Mkdir(path, os.ModePerm)
		if err != nil {
			logrus.Errorf("创建目录异常 -> %v\n", err)
		}
	}
}
