aiweek-reconstruction/tools/option.go

83 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package tools
import (
"gopkg.in/yaml.v2"
"io"
"log"
"os"
)
//自定义选项
type Option struct {
Filters []struct {
Filter7D string `yaml:"filter7d"`
Filter14D string `yaml:"filter14d"`
} `yaml:"filters"`
Macros []string `yaml:"macros"`
}
//自定义文件服务器地址
type ServerConf struct {
Server []string `yaml:"server"`
}
func NewOptionObj() *Option {
return &Option{}
}
func NewServerConfObj() *ServerConf {
return &ServerConf{}
}
func (ServerConf) ReadYaml(yamlFile string) *ServerConf {
file, err := os.Open(yamlFile)
if err != nil {
log.Printf("打开yaml文件错误错误是%v", err)
return nil
}
defer file.Close()
data, err := io.ReadAll(file)
if err != nil {
log.Printf("读取yaml文件错误错误是%v", err)
return nil
}
var serverconf ServerConf
err = yaml.Unmarshal(data, &serverconf)
if err != nil {
log.Printf("yaml文件内容反序列化失败错误是%v", err)
return nil
}
return &serverconf
}
func (Option) ReadYaml(yamlFile string) *Option {
file, err := os.Open(yamlFile)
if err != nil {
log.Printf("打开yaml文件错误错误是%v", err)
return nil
}
defer file.Close()
data, err := io.ReadAll(file)
if err != nil {
log.Printf("读取yaml文件错误错误是%v", err)
return nil
}
var option Option
err = yaml.Unmarshal(data, &option)
if err != nil {
log.Printf("yaml文件内容反序列化失败错误是%v", err)
return nil
}
return &option
}