MCPcopy
hub / github.com/Hackl0us/GeoIP2-CN / main

Function main

main.go:90–131  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

88}
89
90func main() {
91 writer, err := mmdbwriter.New(
92 mmdbwriter.Options{
93 DatabaseType: databaseType,
94 RecordSize: 24,
95 },
96 )
97 if err != nil {
98 log.Fatalf("fail to new writer %v\n", err)
99 }
100
101 var ipTxtList []string
102 fh, err := os.Open(srcFile)
103 if err != nil {
104 log.Fatalf("fail to open %s\n", err)
105 }
106 scanner := bufio.NewScanner(fh)
107 scanner.Split(bufio.ScanLines)
108
109 for scanner.Scan() {
110 ipTxtList = append(ipTxtList, scanner.Text())
111 }
112
113 ipList := parseCIDRs(ipTxtList)
114 for _, ip := range ipList {
115 err = writer.Insert(ip, cnRecord)
116 if err != nil {
117 log.Fatalf("fail to insert to writer %v\n", err)
118 }
119 }
120
121 outFh, err := os.Create(dstFile)
122 if err != nil {
123 log.Fatalf("fail to create output file %v\n", err)
124 }
125
126 _, err = writer.WriteTo(outFh)
127 if err != nil {
128 log.Fatalf("fail to write to file %v\n", err)
129 }
130
131}
132
133

Callers

nothing calls this directly

Calls 1

parseCIDRsFunction · 0.85

Tested by

no test coverage detected