-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.go
72 lines (64 loc) · 1.28 KB
/
main.go
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 (
"log"
"time"
)
func max(a, b int) int {
if a > b {
return a
}
return b
}
type regionType struct {
name string
casecount int
timestamp time.Time
err error
}
func getRegion(n string, r caseRegion, i chan<- regionType) {
c, ts, err := r.loadRegion()
i <- regionType{
n,
c,
ts,
err,
}
}
func main() {
mopo := loadMopo()
rki, err := loadRKI()
if err != nil {
log.Printf("%-22s %s\n", "RKI", err.Error())
}
cj, err := loadCj()
if err != nil {
log.Printf("%-22s %s\n", "corona.jetzt", err.Error())
}
sum := 0
data := newData("coronaZahlen.json", rki, mopo, cj)
allRegions := regions()
next := make(chan regionType)
waitingFor := 0
for regionName, regionData := range allRegions {
/*
if regionName != "Rheinland-Pfalz" {
continue
}
*/
go getRegion(regionName, regionData, next)
waitingFor++
}
for i := waitingFor; i > 0; i-- {
i := <-next
if i.err != nil {
log.Printf("%-22s %s\n", i.name, i.err.Error())
}
rkiC := rki.lookup(i.name)
mopoC := mopo.lookup(i.name)
cojeC := cj.lookup(i.name)
sum += max(max(i.casecount, cojeC), max(rkiC, mopoC))
data.append(i.name, allRegions[i.name].URL, i.timestamp, i.casecount, rkiC, mopoC, cojeC)
}
data.sum(sum)
data.saveJSON("ichplatz/coronaZahlen.json")
}