return errors from function, instead of calling log.Fatal
This commit is contained in:
parent
568dc2b8d4
commit
0c50f6fa72
15
config.go
15
config.go
|
@ -27,12 +27,13 @@ func makeDefaultConfig() Config {
|
|||
}
|
||||
}
|
||||
|
||||
func (config *Config) load() {
|
||||
func (config *Config) load() error {
|
||||
j := jsonc.New()
|
||||
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.Fatal("could not get home directory!", err)
|
||||
log.Println("could not get home directory!")
|
||||
return err
|
||||
}
|
||||
|
||||
configPath := homeDir + "/.config/gopaper/config.jsonc"
|
||||
|
@ -42,12 +43,14 @@ func (config *Config) load() {
|
|||
defaultConfig := makeDefaultConfig()
|
||||
defaultConfigJSON, err := json.MarshalIndent(defaultConfig, "", "")
|
||||
if err != nil {
|
||||
log.Fatal("could not encode default config!", err)
|
||||
log.Println("could not encode default config!")
|
||||
return err
|
||||
}
|
||||
file, err := os.Create(configPath)
|
||||
defer file.Close()
|
||||
if err != nil {
|
||||
log.Fatal("could not create config file!", err)
|
||||
log.Println("could not create config file!")
|
||||
return err
|
||||
}
|
||||
file.Write(defaultConfigJSON)
|
||||
*config = defaultConfig
|
||||
|
@ -57,7 +60,8 @@ func (config *Config) load() {
|
|||
configRaw = j.Strip(configRaw)
|
||||
err = json.Unmarshal(configRaw, &config)
|
||||
if err != nil {
|
||||
log.Fatal("Couldn't unmarshal config!\n", err)
|
||||
log.Println("Couldn't unmarshal config!")
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -71,4 +75,5 @@ func (config *Config) load() {
|
|||
}
|
||||
|
||||
config.ImagesDir = homeDir + "/" + config.ImagesDir + "/"
|
||||
return nil
|
||||
}
|
||||
|
|
11
main.go
11
main.go
|
@ -1,8 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
// "log"
|
||||
"log"
|
||||
"os"
|
||||
"sync"
|
||||
)
|
||||
|
@ -10,9 +9,13 @@ import (
|
|||
var config Config
|
||||
|
||||
func main() {
|
||||
err := config.load()
|
||||
if err != nil {
|
||||
log.Println("failed to load config", err)
|
||||
cleanExit(1)
|
||||
}
|
||||
|
||||
config.load()
|
||||
fmt.Printf("%+v\n", config)
|
||||
log.Printf("%+v\n", config)
|
||||
|
||||
var waitGroup sync.WaitGroup
|
||||
waitGroup.Add(1)
|
||||
|
|
Loading…
Reference in New Issue