mirror of https://github.com/namecoin/ncdns
Merge #82: ncdumpzone: Refactor into library and executable.
1a6a3db
ncdumpzone: Refactor into library and executable. (JeremyRand)
Pull request description:
Also a few other minor refactorings of ncdumpzone.
Refs https://github.com/namecoin/ncdns/pull/80 .
Tree-SHA512: 2e456f07125dec4a39dd840685090b3b6809663993995ab0103405d4301eec2671c1533c2b5fccd099e6716e9957a1acaf03be6973e088a63450bdae5b68ebb6
pull/80/head
commit
6a17fdf647
@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/hlandau/xlog"
|
||||
"gopkg.in/hlandau/easyconfig.v1"
|
||||
"gopkg.in/hlandau/easyconfig.v1/cflag"
|
||||
|
||||
"github.com/namecoin/ncdns/namecoin"
|
||||
"github.com/namecoin/ncdns/ncdumpzone"
|
||||
)
|
||||
|
||||
var log, _ = xlog.New("ncdumpzone-main")
|
||||
|
||||
var (
|
||||
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.")
|
||||
)
|
||||
|
||||
var conn namecoin.Conn
|
||||
|
||||
var config = easyconfig.Configurator{
|
||||
ProgramName: "ncdumpzone",
|
||||
}
|
||||
|
||||
func main() {
|
||||
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()
|
||||
|
||||
err = ncdumpzone.Dump(conn, os.Stdout, formatFlag.Value())
|
||||
if err != nil {
|
||||
log.Fatalf("Couldn't dump zone: %s", err)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue