// Conf gets singleton instance of Config. func Conf() *config.Config { if conf == nil { if path == "" { path = configpath() } conf = config.NewConfig().Load(path) } return conf }
func initConfig() config.ConfigContainer { mkdir() name := APP_TAG + "/pholcus.ini" iniconf, err := config.NewConfig("ini", name) if err != nil { file, err := os.Create(name) file.Close() iniconf, err = config.NewConfig("ini", name) if err != nil { panic(err) } defaultConfig(iniconf) iniconf.SaveConfigFile(name) } return iniconf }
func TestYaml(t *testing.T) { f, err := os.Create("testyaml.conf") if err != nil { t.Fatal(err) } _, err = f.WriteString(yamlcontext) if err != nil { f.Close() t.Fatal(err) } f.Close() defer os.Remove("testyaml.conf") yamlconf, err := config.NewConfig("yaml", "testyaml.conf") if err != nil { t.Fatal(err) } if yamlconf.String("appname") != "beeapi" { t.Fatal("appname not equal to beeapi") } if port, err := yamlconf.Int("httpport"); err != nil || port != 8080 { t.Error(port) t.Fatal(err) } if port, err := yamlconf.Int64("mysqlport"); err != nil || port != 3600 { t.Error(port) t.Fatal(err) } if pi, err := yamlconf.Float("PI"); err != nil || pi != 3.1415976 { t.Error(pi) t.Fatal(err) } if yamlconf.String("runmode") != "dev" { t.Fatal("runmode not equal to dev") } if v, err := yamlconf.Bool("autorender"); err != nil || v != false { t.Error(v) t.Fatal(err) } if v, err := yamlconf.Bool("copyrequestbody"); err != nil || v != true { t.Error(v) t.Fatal(err) } if err = yamlconf.Set("name", "henrylee2cn"); err != nil { t.Fatal(err) } if yamlconf.String("name") != "henrylee2cn" { t.Fatal("get name error") } }
thread int = 20 // 全局最大并发量 pause int64 = 300 // 暂停时长参考/ms(随机: Pausetime/2 ~ Pausetime*2) outtype string = "csv" // 输出方式 dockercap int = 10000 // 分段转储容器容量 limit int64 = 0 // 采集上限,0为不限,若在规则中设置初始值为LIMIT则为自定义限制,否则默认限制请求数 proxyminute int64 = 0 // 代理IP更换的间隔分钟数 success bool = true // 继承历史成功记录 failure bool = true // 继承历史失败记录 ) var setting = func() config.Configer { os.MkdirAll(filepath.Clean(HISTORY_DIR), 0777) os.MkdirAll(filepath.Clean(CACHE_DIR), 0777) os.MkdirAll(filepath.Clean(PHANTOMJS_TEMP), 0777) iniconf, err := config.NewConfig("ini", CONFIG) if err != nil { file, err := os.Create(CONFIG) file.Close() iniconf, err = config.NewConfig("ini", CONFIG) if err != nil { panic(err) } defaultConfig(iniconf) iniconf.SaveConfigFile(CONFIG) } else { trySet(iniconf) } os.MkdirAll(filepath.Clean(iniconf.String("spiderdir")), 0777) os.MkdirAll(filepath.Clean(iniconf.String("fileoutdir")), 0777)