config.go 1.5 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1
package configUtils
2 3 4

import (
	"github.com/easysoft/zentaoatf/src/model"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
5 6 7 8
	constant "github.com/easysoft/zentaoatf/src/utils/const"
	displayUtils "github.com/easysoft/zentaoatf/src/utils/display"
	"github.com/easysoft/zentaoatf/src/utils/file"
	"github.com/easysoft/zentaoatf/src/utils/vari"
9 10 11 12
	"gopkg.in/yaml.v2"
	"io/ioutil"
)

aaronchen2k2k's avatar
aaronchen2k2k 已提交
13 14 15 16
func SaveConfig(dir string, url string, entityType string, entityVal string, langType string, singleFile bool, name string,
	account string, password string) error {
	config := model.Config{Url: url, EntityType: entityType, LangType: langType, SingleFile: singleFile, ProjectName: name,
		Account: account, Password: password}
17 18 19 20

	config.EntityType = entityType
	config.EntityVal = entityVal

aaronchen2k2k's avatar
aaronchen2k2k 已提交
21
	if dir == "" {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
22
		dir = vari.Prefer.WorkDir
aaronchen2k2k's avatar
aaronchen2k2k 已提交
23 24
	}

25
	data, _ := yaml.Marshal(&config)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
26
	ioutil.WriteFile(dir+constant.ConfigFile, data, 0666)
27 28 29 30

	return nil
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
31 32 33 34 35
func ReadProjectConfig(projectPath string) model.Config {
	return ReadConfig(projectPath)
}

func ReadCurrConfig() model.Config {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
36
	return ReadConfig(vari.Prefer.WorkDir)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
37 38 39
}

func ReadConfig(dir string) model.Config {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
40
	configPath := dir + constant.ConfigFile
aaronchen2k2k's avatar
aaronchen2k2k 已提交
41
	var config model.Config
aaronchen2k2k's avatar
aaronchen2k2k 已提交
42

aaronchen2k2k's avatar
aaronchen2k2k 已提交
43
	if !fileUtils.FileExist(configPath) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
44
		saveEmptyConfig(dir)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
45 46 47 48 49 50
	}
	buf, _ := ioutil.ReadFile(configPath)
	yaml.Unmarshal(buf, &config)

	return config
}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
51 52 53 54 55 56 57

func saveEmptyConfig(dir string) error {
	SaveConfig(dir, "", "", "", "", false, "",
		"", "")

	return nil
}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
58 59 60 61 62 63

func InitScreenSize() {
	w, h := displayUtils.GetScreenSize()
	vari.Prefer.Width = w
	vari.Prefer.Height = h
}