Albirew/nyaa-pantsu
Albirew
/
nyaa-pantsu
Archivé
1
0
Bifurcation 0

Improviong dynamic load of configs by putting only one variable one

Cette révision appartient à :
akuma06 2017-07-21 01:36:25 +02:00
Parent cccd389ccd
révision 4714c5c0f5
12 fichiers modifiés avec 25 ajouts et 33 suppressions

Voir le fichier

@ -9,16 +9,9 @@ import (
yaml "gopkg.in/yaml.v2"
)
var (
// DefaultConfigPath : path to the default config file (please do not change it)
DefaultConfigPath = "config/default_config.yml"
// ConfigPath : path to the user specific config file (please do not change it)
ConfigPath = "config/config.yml"
)
var config *Config
var once sync.Once
var configpaths = []string{DefaultConfigPath, ConfigPath}
var Configpaths = []string{"config/default_config.yml", "config/config.yml"}
func Get() *Config {
once.Do(func() {
@ -60,13 +53,13 @@ func init() {
// Reload the configuration from the files provided in the config variables
func Reload() {
configor.Load(Get(), configpaths...)
configor.Load(Get(), Configpaths...)
}
// BindFlags returns a function which is to be used after
// flag.Parse to check and copy the flags' values to the Config instance.
func BindFlags() func() {
confFile := flag.String("conf", ConfigPath, "path to the configuration file")
confFile := flag.String("conf", Configpaths[1], "path to the configuration file")
flag.StringVar(&Get().DBType, "dbtype", Get().DBType, "database backend")
flag.StringVar(&Get().Host, "host", Get().Host, "binding address of the server")
flag.IntVar(&Get().Port, "port", Get().Port, "port of the server")
@ -74,7 +67,7 @@ func BindFlags() func() {
flag.StringVar(&Get().DBLogMode, "dblogmode", Get().DBLogMode, "database log verbosity (errors only by default)")
return func() {
if *confFile != "" {
configpaths = append(configpaths, *confFile)
Configpaths = append(Configpaths, *confFile)
Reload()
}
}

Voir le fichier

@ -10,8 +10,7 @@ import (
)
var _ = func() (_ struct{}) {
ConfigPath = "config.yml"
DefaultConfigPath = "default_config.yml"
Configpaths = []string{"config.yml", "default_config.yml"}
Reload()
return
}()

Voir le fichier

@ -11,8 +11,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", config.Configpaths[0])
config.Reload()
return
}()

Voir le fichier

@ -21,8 +21,8 @@ import (
// run before router/init.go:init()
var _ = func() (_ struct{}) {
gin.SetMode(gin.TestMode)
config.ConfigPath = path.Join("..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", config.Configpaths[0])
config.Reload()
categories.InitCategories()
return

Voir le fichier

@ -26,8 +26,8 @@ import (
// run before router/init.go:init()
var _ = func() (_ struct{}) {
gin.SetMode(gin.TestMode)
config.ConfigPath = path.Join("..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", config.Configpaths[0])
config.Reload()
return
}()

Voir le fichier

@ -13,8 +13,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", config.Configpaths[0])
config.Reload()
return
}()

Voir le fichier

@ -11,8 +11,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", config.Configpaths[0])
config.Reload()
return
}()

Voir le fichier

@ -17,8 +17,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", config.Configpaths[0])
config.Reload()
return
}()

Voir le fichier

@ -12,8 +12,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", "..", config.Configpaths[0])
config.Reload()
categories.InitCategories()
return

Voir le fichier

@ -14,8 +14,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", config.Configpaths[0])
config.Reload()
config.Get().I18n.Directory = path.Join("..", "..", config.Get().I18n.Directory)
return

Voir le fichier

@ -13,8 +13,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", "..", config.Configpaths[0])
config.Reload()
config.Get().I18n.Directory = path.Join("..", "..", "..", config.Get().I18n.Directory)
categories.InitCategories()

Voir le fichier

@ -12,8 +12,8 @@ import (
// run before config/parse.go:init()
var _ = func() (_ struct{}) {
config.ConfigPath = path.Join("..", "..", config.ConfigPath)
config.DefaultConfigPath = path.Join("..", "..", config.DefaultConfigPath)
config.Configpaths[1] = path.Join("..", "..", config.Configpaths[1])
config.Configpaths[0] = path.Join("..", "..", config.Configpaths[0])
config.Reload()
return
}()