X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=blobdiff_plain;f=src%2Fctx.go;h=19c7b9c0177fb0e0abe86497f05ede78404d3719;hp=8a1146e2b5651f44731cfe7de792ff3388c906a9;hb=1d2ce674b042d07fd9b37a46578c8b62bb0345b7;hpb=b2e36aeaa5dc1c9649c6895d938208d92ddc3fa3 diff --git a/src/ctx.go b/src/ctx.go index 8a1146e..19c7b9c 100644 --- a/src/ctx.go +++ b/src/ctx.go @@ -39,6 +39,7 @@ type Ctx struct { LogPath string UmaskForce *int Quiet bool + ShowPrgrs bool Debug bool NotifyFile *FromToJSON NotifyFreq *FromToJSON @@ -64,23 +65,31 @@ func (ctx *Ctx) FindNode(id string) (*Node, error) { func (ctx *Ctx) ensureRxDir(nodeId *NodeId) error { dirPath := filepath.Join(ctx.Spool, nodeId.String(), string(TRx)) if err := os.MkdirAll(dirPath, os.FileMode(0777)); err != nil { - ctx.LogE("dir-ensure", SDS{"dir": dirPath, "err": err}, "") + ctx.LogE("dir-ensure", SDS{"dir": dirPath}, err, "") return err } fd, err := os.Open(dirPath) if err != nil { - ctx.LogE("dir-ensure", SDS{"dir": dirPath, "err": err}, "") + ctx.LogE("dir-ensure", SDS{"dir": dirPath}, err, "") return err } fd.Close() return nil } -func CtxFromCmdline(cfgPath, spoolPath, logPath string, quiet, debug bool) (*Ctx, error) { +func CtxFromCmdline( + cfgPath, + spoolPath, + logPath string, + quiet, showPrgrs, omitPrgrs, debug bool, +) (*Ctx, error) { env := os.Getenv(CfgPathEnv) if env != "" { cfgPath = env } + if showPrgrs && omitPrgrs { + return nil, errors.New("simultaneous -progress and -noprogress") + } cfgRaw, err := ioutil.ReadFile(cfgPath) if err != nil { return nil, err @@ -105,6 +114,12 @@ func CtxFromCmdline(cfgPath, spoolPath, logPath string, quiet, debug bool) (*Ctx } else { ctx.LogPath = logPath } + if showPrgrs { + ctx.ShowPrgrs = true + } + if quiet || omitPrgrs { + ctx.ShowPrgrs = false + } ctx.Quiet = quiet ctx.Debug = debug return ctx, nil