67 lines
1.7 KiB
Go
67 lines
1.7 KiB
Go
package main
|
|
|
|
/*
|
|
this parses the command line arguements
|
|
|
|
this enables command line options from other packages like 'gui' and 'log'
|
|
*/
|
|
|
|
import (
|
|
"time"
|
|
arg "github.com/alexflint/go-arg"
|
|
"go.wit.com/log"
|
|
"go.wit.com/gui/debugger"
|
|
)
|
|
|
|
var args struct {
|
|
Display string `arg:"env:DISPLAY"`
|
|
VerboseDNS bool `arg:"--verbose-dns" help:"debug your dns settings"`
|
|
}
|
|
|
|
var NOW log.LogFlag
|
|
var INFO log.LogFlag
|
|
var NET log.LogFlag
|
|
var DNS log.LogFlag
|
|
var WARN log.LogFlag
|
|
var SPEW log.LogFlag
|
|
var CHANGE log.LogFlag
|
|
var STATUS log.LogFlag
|
|
|
|
func myreg(f *log.LogFlag, b bool, name string, desc string) {
|
|
f.B = b
|
|
f.Subsystem = "go.wit.com/control-panels/dns"
|
|
f.Short = "cpdns"
|
|
f.Desc = desc
|
|
f.Name = name
|
|
f.Register()
|
|
}
|
|
|
|
func init() {
|
|
arg.MustParse(&args)
|
|
// fmt.Println(args.Foo, args.Bar, args.User)
|
|
|
|
myreg(&NOW, true, "NOW", "temp debugging stuff")
|
|
myreg(&INFO, false, "INFO", "normal debugging stuff")
|
|
myreg(&NET, false, "NET", "Network logging")
|
|
myreg(&DNS, false, "DNS", "dnsStatus.update()")
|
|
myreg(&WARN, true, "WARN", "bad things")
|
|
myreg(&SPEW, false, "SPEW", "spew stuff")
|
|
myreg(&CHANGE, true, "CHANGE", "when host or dns change")
|
|
myreg(&STATUS, false, "STATUS", "updateStatus()")
|
|
|
|
if debugger.ArgDebug() {
|
|
log.Log(true, "INIT() gui debug == true")
|
|
} else {
|
|
log.Log(true, "INIT() gui debug == false")
|
|
}
|
|
|
|
me.dnsSleep = 500 * time.Millisecond
|
|
me.localSleep = 100 * time.Millisecond
|
|
|
|
me.artificialSleep = 0.4 // seems to need to exist or GTK crashes. TODO: fix andlabs plugin
|
|
me.artificialS = "blah"
|
|
log.Log(true, "init() me.artificialSleep =", me.artificialSleep)
|
|
log.Log(true, "init() me.artificialS =", me.artificialS)
|
|
log.Sleep(me.artificialSleep)
|
|
}
|