json config
This commit is contained in:
parent
6943f10f59
commit
0a13747950
@ -17,6 +17,7 @@ const (
|
||||
|
||||
type App struct {
|
||||
Params params.ParamsType
|
||||
Config *Config
|
||||
Worldconfig worldconfig.WorldConfig
|
||||
|
||||
Blockdb db.DBAccessor
|
||||
|
32
app/config.go
Normal file
32
app/config.go
Normal file
@ -0,0 +1,32 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
Port int `json:"port"`
|
||||
}
|
||||
|
||||
func ParseConfig(filename string) (*Config, error) {
|
||||
cfg := Config{
|
||||
Port: 80,
|
||||
}
|
||||
|
||||
info, err := os.Stat(filename)
|
||||
if info != nil && err == nil {
|
||||
data, err := ioutil.ReadFile(filename)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal(data, &cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &cfg, nil
|
||||
}
|
@ -16,13 +16,14 @@ import (
|
||||
"errors"
|
||||
)
|
||||
|
||||
func Setup(p params.ParamsType) (*App, error) {
|
||||
func Setup(p params.ParamsType, cfg *Config) (*App, error) {
|
||||
a := App{}
|
||||
a.Params = p
|
||||
a.Config = cfg
|
||||
|
||||
//Parse world config
|
||||
|
||||
a.Worldconfig = worldconfig.Parse(a.Params.Worlddir + "world.mt")
|
||||
a.Worldconfig = worldconfig.Parse("world.mt")
|
||||
logrus.WithFields(logrus.Fields{"version": Version}).Info("Starting mapserver")
|
||||
|
||||
if a.Worldconfig.Backend != worldconfig.BACKEND_SQLITE3 {
|
||||
|
8
main.go
8
main.go
@ -29,9 +29,15 @@ func main() {
|
||||
return
|
||||
}
|
||||
|
||||
//parse Config
|
||||
cfg, err := app.ParseConfig("mapserver.json")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
//setup app context
|
||||
|
||||
ctx, err := app.Setup(p)
|
||||
ctx, err := app.Setup(p, cfg)
|
||||
|
||||
if err != nil {
|
||||
//error case
|
||||
|
1
mapserver.json
Normal file
1
mapserver.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
@ -5,8 +5,6 @@ import (
|
||||
)
|
||||
|
||||
type ParamsType struct {
|
||||
Worlddir string
|
||||
Port int
|
||||
Help bool
|
||||
Version bool
|
||||
}
|
||||
@ -14,8 +12,6 @@ type ParamsType struct {
|
||||
func Parse() ParamsType {
|
||||
params := ParamsType{}
|
||||
|
||||
flag.StringVar(&(params.Worlddir), "worlddir", "./", "world directory")
|
||||
flag.IntVar(&(params.Port), "port", 8080, "port to use")
|
||||
flag.BoolVar(&(params.Help), "help", false, "Show help")
|
||||
flag.BoolVar(&(params.Version), "version", false, "Show version")
|
||||
flag.Parse()
|
||||
|
Loading…
Reference in New Issue
Block a user