Added config check function for core variables.

This commit is contained in:
Adrian Gallagher
2015-05-11 16:55:40 +10:00
parent b3413f9317
commit 70b312d377
2 changed files with 36 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"time"
)
@@ -10,6 +11,13 @@ const (
CONFIG_FILE = "config.json"
)
var (
ErrExchangeNameEmpty = "Exchange #%d in config: Exchange name is empty."
ErrExchangeAvailablePairsEmpty = "Exchange %s: Available pairs is empty."
ErrExchangeEnabledPairsEmpty = "Exchange %s: Enabled pairs is empty."
ErrExchangeBaseCurrenciesEmpty = "Exchange %s: Base currencies is empty."
)
type SMSContacts struct {
Name string
Number string
@@ -38,6 +46,26 @@ type Exchanges struct {
BaseCurrencies string
}
func CheckConfigValues() error {
for i, exch := range bot.config.Exchanges {
if exch.Enabled {
if exch.Name == "" {
return fmt.Errorf(ErrExchangeNameEmpty, i)
}
if exch.AvailablePairs == "" {
return fmt.Errorf(ErrExchangeAvailablePairsEmpty, exch.Name)
}
if exch.EnabledPairs == "" {
return fmt.Errorf(ErrExchangeEnabledPairsEmpty, exch.Name)
}
if exch.BaseCurrencies == "" {
return fmt.Errorf(ErrExchangeBaseCurrenciesEmpty, exch.Name)
}
}
}
return nil
}
func ReadConfig() (Config, error) {
file, err := ioutil.ReadFile(CONFIG_FILE)

View File

@@ -43,7 +43,14 @@ func main() {
bot.config, err = ReadConfig()
if err != nil {
log.Println("Fatal error opening config.json file. Error: ", err)
log.Println("Fatal error opening config.json file. Error:", err)
return
}
err = CheckConfigValues()
if err != nil {
log.Println("Fatal error checking config values. Error:", err)
return
}