name-dyndns/main.go

39 lines
863 B
Go
Raw Normal View History

2015-04-30 00:18:08 -04:00
package main
import (
"flag"
2015-04-30 00:18:08 -04:00
"fmt"
"github.com/mfycheng/name-dyndns/api"
"github.com/mfycheng/name-dyndns/dyndns"
2015-04-30 00:18:08 -04:00
"os"
)
2015-05-04 14:52:55 -04:00
func filterConfigs(configs []api.Config, dev bool) []api.Config {
for i := 0; i < len(configs); i++ {
if configs[i].Dev != dev {
configs = append(configs[:i], configs[i+1:]...)
}
}
return configs
}
2015-04-30 00:18:08 -04:00
func main() {
configPath := flag.String("config", "./config.json", "Specify the configuration file")
2015-05-04 14:52:55 -04:00
daemon := flag.Bool("daemon", false, "Operate in daemon mode.")
dev := flag.Bool("dev", false, "Use development configurations instead.")
flag.Parse()
configs, err := api.LoadConfigs(*configPath)
2015-04-30 00:18:08 -04:00
if err != nil {
fmt.Println("Error loading config:", err)
os.Exit(1)
return
}
2015-05-04 14:52:55 -04:00
configs = filterConfigs(configs, *dev)
2015-04-30 00:18:08 -04:00
fmt.Printf("Successfully loaded %d configs\n", len(configs))
dyndns.Run(configs, *daemon)
2015-04-30 00:18:08 -04:00
}