Standardized: use recommend extension & forward compatibility before 1.0

This commit is contained in:
Dreamacro
2019-06-18 20:55:26 +08:00
parent 6adafde9a0
commit 407de7388c
4 changed files with 19 additions and 4 deletions

View File

@ -87,11 +87,26 @@ type rawConfig struct {
Rule []string `yaml:"Rule"`
}
// forward compatibility before 1.0
func readRawConfig(path string) ([]byte, error) {
data, err := ioutil.ReadFile(path)
if err == nil && len(data) != 0 {
return data, nil
}
if filepath.Ext(path) != ".yaml" {
return nil, err
}
path = path[:len(path)-5] + ".yml"
return ioutil.ReadFile(path)
}
func readConfig(path string) (*rawConfig, error) {
if _, err := os.Stat(path); os.IsNotExist(err) {
return nil, err
}
data, err := ioutil.ReadFile(path)
data, err := readRawConfig(path)
if err != nil {
return nil, err
}

View File

@ -63,7 +63,7 @@ func Init(dir string) error {
}
}
// initial config.yml
// initial config.yaml
if _, err := os.Stat(C.Path.Config()); os.IsNotExist(err) {
log.Info("Can't find config, create an empty file")
os.OpenFile(C.Path.Config(), os.O_CREATE|os.O_WRONLY, 0644)