added flags
This commit is contained in:
parent
d1b9551889
commit
cfde0fd79b
1 changed files with 37 additions and 0 deletions
|
@ -2,6 +2,7 @@ package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"flag"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
@ -47,6 +48,8 @@ func New() (*Config, error) {
|
||||||
jsonParser := json.NewDecoder(configFile)
|
jsonParser := json.NewDecoder(configFile)
|
||||||
jsonParser.Decode(&config)
|
jsonParser.Decode(&config)
|
||||||
|
|
||||||
|
config.overrideWithFlags()
|
||||||
|
|
||||||
return &config, nil
|
return &config, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,3 +78,37 @@ func defaults() Config {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (config *Config) overrideWithFlags() {
|
||||||
|
username := flag.String("ts3_name", "", "TS3Query username")
|
||||||
|
password := flag.String("ts3_pw", "", "TS3Query user password")
|
||||||
|
tsIP := flag.String("ts3_ip", "", "TS3 IP address")
|
||||||
|
tsPort := flag.Uint64("ts3_port", 65536, "TS3 port")
|
||||||
|
tsQuery := flag.Uint64("ts3_query", 65536, "TS3 query port")
|
||||||
|
webPort := flag.Uint64("web_port", 65536, "Webserver port")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
if *username != "" {
|
||||||
|
config.User.Name = *username
|
||||||
|
}
|
||||||
|
|
||||||
|
if *password != "" {
|
||||||
|
config.User.Password = *password
|
||||||
|
}
|
||||||
|
|
||||||
|
if *tsIP != "" {
|
||||||
|
config.ServerTS.IP = *tsIP
|
||||||
|
}
|
||||||
|
|
||||||
|
if *tsPort <= 65535 {
|
||||||
|
config.ServerTS.PortServer = uint16(*tsPort)
|
||||||
|
}
|
||||||
|
|
||||||
|
if *tsQuery <= 65535 {
|
||||||
|
config.ServerTS.PortQuery = uint16(*tsQuery)
|
||||||
|
}
|
||||||
|
|
||||||
|
if *webPort <= 65535 {
|
||||||
|
config.ServerWeb.Port = uint16(*webPort)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue