From cbc0c1198a6ebb8f10c9b719ba0d6f1bcedba602 Mon Sep 17 00:00:00 2001 From: JeremyRand Date: Sat, 23 Jun 2018 06:01:42 +0000 Subject: [PATCH] ncdumpzone: Use easyconfig instead of kingpin. --- ncdumpzone/ncdumpzone.go | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/ncdumpzone/ncdumpzone.go b/ncdumpzone/ncdumpzone.go index 0ed441d..430accc 100644 --- a/ncdumpzone/ncdumpzone.go +++ b/ncdumpzone/ncdumpzone.go @@ -1,6 +1,5 @@ package main -import "gopkg.in/alecthomas/kingpin.v2" import "github.com/namecoin/ncdns/ncdomain" import "github.com/namecoin/ncdns/namecoin" import "github.com/namecoin/ncdns/tlsoverridefirefox" @@ -9,27 +8,42 @@ import "github.com/hlandau/xlog" import "strings" import "fmt" +import "gopkg.in/hlandau/easyconfig.v1" +import "gopkg.in/hlandau/easyconfig.v1/cflag" + var log, Log = xlog.New("ncdumpzone") var ( - rpchostFlag = kingpin.Flag("rpchost", "Namecoin RPC host:port").Default("127.0.0.1:8336").String() - rpcuserFlag = kingpin.Flag("rpcuser", "Namecoin RPC username").String() - rpcpassFlag = kingpin.Flag("rpcpass", "Namecoin RPC password").String() - formatFlag = kingpin.Flag("format", "Output format. \"zonefile\" = "+ + flagGroup = cflag.NewGroup(nil, "ncdumpzone") + rpchostFlag = cflag.String(flagGroup, "namecoinrpcaddress", "127.0.0.1:8336", "Namecoin RPC host:port") + rpcuserFlag = cflag.String(flagGroup, "namecoinrpcusername", "", "Namecoin RPC username") + rpcpassFlag = cflag.String(flagGroup, "namecoinrpcpassword", "", "Namecoin RPC password") + formatFlag = cflag.String(flagGroup, "format", "zonefile", "Output format. \"zonefile\" = "+ "DNS zone file. \"firefox-override\" = Firefox "+ - "cert_override.txt format.").Default("zonefile").String() + "cert_override.txt format.") ) var conn namecoin.Conn +var config = easyconfig.Configurator{ + ProgramName: "ncdumpzone", +} + const perCall = 1000 func main() { - kingpin.Parse() + err := config.Parse(nil) + if err != nil { + log.Fatalf("Couldn't parse configuration: %s", err) + } + + conn.Server = rpchostFlag.Value() + conn.Username = rpcuserFlag.Value() + conn.Password = rpcpassFlag.Value() - conn.Server = *rpchostFlag - conn.Username = *rpcuserFlag - conn.Password = *rpcpassFlag + if formatFlag.Value() != "zonefile" && formatFlag.Value() != "firefox-override" { + log.Fatalf("Invalid \"format\" argument: %s", formatFlag.Value()) + } var errors []error errFunc := func(err error, isWarning bool) { @@ -83,9 +97,9 @@ func main() { log.Warne(err, "error generating RRs") for _, rr := range rrs { - if *formatFlag == "zonefile" { + if formatFlag.Value() == "zonefile" { fmt.Print(rr.String(), "\n") - } else if *formatFlag == "firefox-override" { + } else if formatFlag.Value() == "firefox-override" { result, err := tlsoverridefirefox.OverrideFromRR(rr) if err != nil { panic(err)