Config file reading/writing.

This commit is contained in:
Andrey Smirnov
2013-12-27 19:31:32 +04:00
parent e5712f9745
commit a7fb971905
2 changed files with 97 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
package utils
import (
"encoding/json"
"os"
)
// ConfigStructure is structure of main configuration
type ConfigStructure struct {
RootDir string `json:"rootDir"`
DownloadConcurrency int `json:"downloadConcurrency"`
}
// Config is configuration for aptly, shared by all modules
var Config = ConfigStructure{
RootDir: "/var/aptly",
DownloadConcurrency: 4,
}
// LoadConfig loads configuration from json file
func LoadConfig(filename string, config *ConfigStructure) error {
f, err := os.Open(filename)
if err != nil {
return err
}
defer f.Close()
dec := json.NewDecoder(f)
return dec.Decode(&config)
}
// SaveConfig write configuration to json file
func SaveConfig(filename string, config *ConfigStructure) error {
f, err := os.Create(filename)
if err != nil {
return err
}
defer f.Close()
encoded, err := json.MarshalIndent(&config, "", " ")
if err != nil {
return err
}
_, err = f.Write(encoded)
return err
}