73 lines
1.4 KiB
Go
73 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"log"
|
|
"os"
|
|
"strings"
|
|
|
|
"go.wit.com/lib/gui/cloudflare"
|
|
)
|
|
|
|
var configfile string = ".config/wit/cloudflare"
|
|
|
|
func saveConfig() {
|
|
log.Println("TODO")
|
|
}
|
|
|
|
func readConfig() {
|
|
homeDir, err := os.UserHomeDir()
|
|
if err != nil {
|
|
log.Println("searchPaths() error. exiting here?")
|
|
}
|
|
filename := homeDir + "/" + configfile
|
|
log.Println("filename =", filename)
|
|
|
|
readFileLineByLine(filename)
|
|
// os.Exit(0)
|
|
}
|
|
|
|
// readFileLineByLine opens a file and reads through each line.
|
|
func readFileLineByLine(filename string) error {
|
|
// Open the file.
|
|
file, err := os.Open(filename)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer file.Close()
|
|
|
|
log.Println("readFileLineByLine() =", filename)
|
|
|
|
// Create a new Scanner for the file.
|
|
scanner := bufio.NewScanner(file)
|
|
|
|
// Read through each line using scanner.
|
|
for scanner.Scan() {
|
|
var newc *cloudflare.ConfigT
|
|
newc = new(cloudflare.ConfigT)
|
|
|
|
line := scanner.Text()
|
|
parts := strings.Fields(line)
|
|
|
|
if len(parts) < 4 {
|
|
log.Println("readFileLineByLine() SKIP =", parts)
|
|
continue
|
|
}
|
|
|
|
newc.Domain = parts[0]
|
|
newc.ZoneID = parts[1]
|
|
newc.Auth = parts[2]
|
|
newc.Email = parts[3]
|
|
|
|
cloudflare.Config[parts[0]] = newc
|
|
log.Println("readFileLineByLine() =", newc.Domain, newc.ZoneID, newc.Auth, newc.Email)
|
|
}
|
|
|
|
// Check for errors during Scan.
|
|
if err := scanner.Err(); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|