Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
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
}