blob: a3cf226c55f49893cfdf60fb61714fc725dae1fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
package main
import (
"os"
"log"
"bufio"
"strings"
"go.wit.com/control-panel-dns/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
}
|