mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-10 06:14:22 +00:00
Config file reading/writing.
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user