Merge #76: ncdumpzone: Use easyconfig instead of kingpin.

cbc0c11 ncdumpzone: Use easyconfig instead of kingpin. (JeremyRand)

Pull request description:

Tree-SHA512: fd1dceda29cf56b049ce9277749c8f2f085f7dbb2437b175587a8fba590e99b7e8447b17b43b867ca9f8e633664eaec20c5493bf0a2f12e4c600b985427ca6de
pull/69/head
JeremyRand 6 years ago
commit ceb6f266d6
No known key found for this signature in database
GPG Key ID: B3F2D165786D6570

@ -1,6 +1,5 @@
package main package main
import "gopkg.in/alecthomas/kingpin.v2"
import "github.com/namecoin/ncdns/ncdomain" import "github.com/namecoin/ncdns/ncdomain"
import "github.com/namecoin/ncdns/namecoin" import "github.com/namecoin/ncdns/namecoin"
import "github.com/namecoin/ncdns/tlsoverridefirefox" import "github.com/namecoin/ncdns/tlsoverridefirefox"
@ -9,27 +8,42 @@ import "github.com/hlandau/xlog"
import "strings" import "strings"
import "fmt" import "fmt"
import "gopkg.in/hlandau/easyconfig.v1"
import "gopkg.in/hlandau/easyconfig.v1/cflag"
var log, Log = xlog.New("ncdumpzone") var log, Log = xlog.New("ncdumpzone")
var ( var (
rpchostFlag = kingpin.Flag("rpchost", "Namecoin RPC host:port").Default("127.0.0.1:8336").String() flagGroup = cflag.NewGroup(nil, "ncdumpzone")
rpcuserFlag = kingpin.Flag("rpcuser", "Namecoin RPC username").String() rpchostFlag = cflag.String(flagGroup, "namecoinrpcaddress", "127.0.0.1:8336", "Namecoin RPC host:port")
rpcpassFlag = kingpin.Flag("rpcpass", "Namecoin RPC password").String() rpcuserFlag = cflag.String(flagGroup, "namecoinrpcusername", "", "Namecoin RPC username")
formatFlag = kingpin.Flag("format", "Output format. \"zonefile\" = "+ rpcpassFlag = cflag.String(flagGroup, "namecoinrpcpassword", "", "Namecoin RPC password")
formatFlag = cflag.String(flagGroup, "format", "zonefile", "Output format. \"zonefile\" = "+
"DNS zone file. \"firefox-override\" = Firefox "+ "DNS zone file. \"firefox-override\" = Firefox "+
"cert_override.txt format.").Default("zonefile").String() "cert_override.txt format.")
) )
var conn namecoin.Conn var conn namecoin.Conn
var config = easyconfig.Configurator{
ProgramName: "ncdumpzone",
}
const perCall = 1000 const perCall = 1000
func main() { 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 if formatFlag.Value() != "zonefile" && formatFlag.Value() != "firefox-override" {
conn.Username = *rpcuserFlag log.Fatalf("Invalid \"format\" argument: %s", formatFlag.Value())
conn.Password = *rpcpassFlag }
var errors []error var errors []error
errFunc := func(err error, isWarning bool) { errFunc := func(err error, isWarning bool) {
@ -83,9 +97,9 @@ func main() {
log.Warne(err, "error generating RRs") log.Warne(err, "error generating RRs")
for _, rr := range rrs { for _, rr := range rrs {
if *formatFlag == "zonefile" { if formatFlag.Value() == "zonefile" {
fmt.Print(rr.String(), "\n") fmt.Print(rr.String(), "\n")
} else if *formatFlag == "firefox-override" { } else if formatFlag.Value() == "firefox-override" {
result, err := tlsoverridefirefox.OverrideFromRR(rr) result, err := tlsoverridefirefox.OverrideFromRR(rr)
if err != nil { if err != nil {
panic(err) panic(err)

Loading…
Cancel
Save