+ var cfg *CfgJSON
+ if fi.IsDir() {
+ cfg, err = DirToCfg(cfgPath)
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ cfgRaw, err := ioutil.ReadFile(cfgPath)
+ if err != nil {
+ return nil, err
+ }
+ cfg, err = CfgParse(cfgRaw)
+ if err != nil {
+ return nil, err
+ }
+ }
+ ctx, err := Cfg2Ctx(cfg)