pull out directory creation to new function
This commit is contained in:
parent
e47554cae2
commit
62b515e2e0
25
ooni.go
25
ooni.go
|
@ -119,13 +119,6 @@ func (c *Config) Default() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, e := os.Stat(filepath.Join(home, "db")); e != nil {
|
|
||||||
err = os.MkdirAll(filepath.Join(home, "db"), 0700)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
c.path = filepath.Join(home, "config.json")
|
c.path = filepath.Join(home, "config.json")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -154,11 +147,29 @@ func ParseConfig(b []byte) (*Config, error) {
|
||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func EnsureDefaultConfigDir() error {
|
||||||
|
home, err := GetOONIHome()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, e := os.Stat(filepath.Join(home, "db")); e != nil {
|
||||||
|
err = os.MkdirAll(filepath.Join(home, "db"), 0700)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// ReadConfig reads the configuration from the path
|
// ReadConfig reads the configuration from the path
|
||||||
func ReadConfig(path string) (*Config, error) {
|
func ReadConfig(path string) (*Config, error) {
|
||||||
b, err := ioutil.ReadFile(path)
|
b, err := ioutil.ReadFile(path)
|
||||||
|
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
|
if err = EnsureDefaultConfigDir(); err != nil {
|
||||||
|
return nil, errors.Wrap(err, "Creating new config")
|
||||||
|
}
|
||||||
c := &Config{}
|
c := &Config{}
|
||||||
|
|
||||||
if err = c.Default(); err != nil {
|
if err = c.Default(); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user