commento/api/config_file.go

53 lines
763 B
Go
Raw Normal View History

package main
import (
"bufio"
"os"
"strings"
)
func configFileLoad(filepath string) error {
file, err := os.Open(filepath)
if err != nil {
return err
}
defer file.Close()
num := 0
scanner := bufio.NewScanner(file)
for scanner.Scan() {
num += 1
line := strings.TrimSpace(scanner.Text())
2018-06-21 23:29:29 +08:00
if line == "" {
continue
}
if strings.HasPrefix(line, "#") {
continue
}
i := strings.Index(line, "=")
if i == -1 {
logger.Errorf("%s: line %d: neither a comment nor a valid setting", filepath, num)
return errorInvalidConfigFile
}
key := line[:i]
value := line[i+1:]
if !strings.HasPrefix(key, "COMMENTO_") {
continue
}
if os.Getenv(key[9:]) != "" {
continue
}
os.Setenv(key[9:], value)
}
return nil
}