83 lines
1.5 KiB
Go
83 lines
1.5 KiB
Go
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
|
||
}
|