@ -20,15 +20,13 @@ type ConfigManager struct {
conf * globalconf . GlobalConf
conf * globalconf . GlobalConf
}
}
var Config * ConfigManager
// Read config
// Read config
//
//
// Initialize Config from Config File
// Initialize Config from Config File
func ReadConfig ( ConfigFile string , Datadir string , EnvPrefix string ) * ConfigManager {
func ReadConfig ( ConfigFile string , Datadir string , EnvPrefix string ) * ConfigManager {
if Config == nil {
// create ConfigFile if does not exist, otherwise globalconf panic when trying to persist flags
if ! FileExist ( ConfigFile ) {
if ! FileExist ( ConfigFile ) {
// create ConfigFile if it does not exist, otherwise
// globalconf will panic when trying to persist flags.
fmt . Printf ( "config file '%s' doesn't exist, creating it\n" , ConfigFile )
fmt . Printf ( "config file '%s' doesn't exist, creating it\n" , ConfigFile )
os . Create ( ConfigFile )
os . Create ( ConfigFile )
}
}
@ -41,9 +39,8 @@ func ReadConfig(ConfigFile string, Datadir string, EnvPrefix string) *ConfigMana
} else {
} else {
g . ParseAll ( )
g . ParseAll ( )
}
}
Config = & ConfigManager { ExecPath : Datadir , Debug : true , conf : g , Paranoia : true }
cfg := & ConfigManager { ExecPath : Datadir , Debug : true , conf : g , Paranoia : true }
}
return cfg
return Config
}
}
// provides persistence for flags
// provides persistence for flags