func parseConfigTOML() *Config { cfg := &Config{} if _, err := toml.Decode(defaultTomlConfig, &cfg); err != nil { utils.PanicOnError(err) } configPath := os.Getenv("SKIZZE_CONFIG") if configPath != "" { _, err := os.Open(configPath) if err != nil { logger.Warningf("Unable to find config file, using defaults") return cfg } if _, err := toml.DecodeFile(configPath, &cfg); err != nil { logger.Warningf("Error parsing config file, using defaults") } } // make paths absolute infodir, err := utils.FullPath(cfg.InfoDir) if err != nil { panic(err) } datadir, err := utils.FullPath(cfg.DataDir) if err != nil { panic(err) } cfg.InfoDir = infodir cfg.DataDir = datadir return cfg }
func setupDirectories(datadir string) string { // FIXME: Allow specifying infodir datadir, err := utils.FullPath(datadir) if err != nil { panic(err) } if err := os.MkdirAll(datadir, os.ModePerm); err != nil { panic(err) } return datadir }