Create series.json data for the website.

This commit is contained in:
Auke Kok 2017-11-14 23:17:48 -08:00
parent bab1a538eb
commit 5ad687b377

68
main.go
View File

@ -100,6 +100,12 @@ type Builder struct {
}
var builders []Builder
type Series struct {
series_id int
name string
}
var series []Series
func main() {
if len(os.Args) < 1 {
log.Fatal("Not enough arguments: sqlite_file")
@ -174,6 +180,66 @@ func main() {
}
rows.Close()
// write out series data
rows, err = db.Query("select id, name from series")
if err != nil {
log.Fatal(err)
}
for rows.Next() {
var s Series
err = rows.Scan(&s.series_id, &s.name)
if err != nil {
log.Fatal(err)
}
series = append(series, s)
}
rows.Close()
// make main slice
series_data := make(map[string]interface{})
for i := range series {
c := 0
s := make(map[string]interface{})
d := make(map[string]interface{})
rows, err = db.Query(fmt.Sprintf("select box_id from series_box where series_id=%v order by box_order ASC", series[i].series_id))
for rows.Next() {
var id int
dd := make(map[string]interface{})
err = rows.Scan(&id)
if err != nil {
log.Fatal(err)
}
c += 1
dd["id"] = id
for j := range boxes {
if boxes[j].box_id == id {
dd["builder"] = boxes[j].builder
dd["name"] = boxes[j].name
break
}
}
d[fmt.Sprintf("%v", c)] = dd
}
s["name"] = series[i].name
s["id"] = series[i].series_id
s["boxes"] = d
series_data[fmt.Sprintf("%v", i)] = s
}
sd, err := json.Marshal(series_data)
if err != nil {
log.Fatal(err)
}
// write to disc!
of, err := os.Create("series.json")
if err != nil {
log.Fatal(err)
}
of.Write(sd)
of.Close();
//
// PLAYER RANKING
//
@ -358,7 +424,7 @@ func main() {
log.Fatal(err)
}
// write to disc!
of, err := os.Create("top_players.json")
of, err = os.Create("top_players.json")
if err != nil {
log.Fatal(err)
}