Ejemplo n.º 1
0
//	设置配置文件
func SetRootDir(root string) error {

	//	构造配置文件路径
	filePath := filepath.Join(root, configFile)
	_, err := os.Stat(filePath)
	if os.IsNotExist(err) {
		return err
	}

	//	读取文件
	buffer, err := io.ReadAllBytes(filePath)
	if err != nil {
		return err
	}

	//	解析配置项
	configValue = &Config{}
	err = json.Unmarshal(buffer, configValue)
	if err != nil {
		return err
	}

	if configValue == nil {
		return fmt.Errorf("配置文件错误")
	}

	return nil
}
Ejemplo n.º 2
0
//	解析文件
func parseFile(path string) error {

	//	如果文件不存在则忽略
	//	有可能被Market History任务处理了
	_, err := os.Stat(path)
	if os.IsNotExist(err) {
		return nil
	}

	marketName, code, day, err := retrieveParams(path)
	if err != nil {
		return err
	}

	//	检查数据库是否解析过
	found, err := db.DailyExists(marketName, code, day)
	if err != nil {
		return err
	}

	//	解析过就忽略
	if !found {
		//	读文件内容
		buffer, err := io.ReadAllBytes(path)
		if err != nil {
			return err
		}

		//	解析
		dar, err := market.ParseDailyYahooJson(marketName, code, day, buffer)
		if err != nil {
			return err
		}

		//	保存
		err = db.DailySave(dar)
		if err != nil {
			return err
		}
	}

	//	解析成功就删除文件
	return os.Remove(path)
}