diff --git a/main.go b/main.go index 2ca391f..2968c27 100644 --- a/main.go +++ b/main.go @@ -409,6 +409,34 @@ func main() { // sort and we're done, no need to normalize ranking values sort.Slice(players, func(a, b int) bool { return players[a].combined > players[b].combined }) + var player_raw = make(map[string]string) + for i := 0; i < len(players); i++ { + var name string + err = db.QueryRow(fmt.Sprintf("SELECT name FROM player WHERE id = \"%v\"", players[i].player_id)).Scan(&name) + if err != nil { + log.Fatal(err) + } + player_raw[fmt.Sprintf("%v", i+1)] = fmt.Sprintf("%v (%v): %v - %v %v %v %v", + players[i].player_id, + name, + players[i].combined, + players[i].completed_rank, + players[i].time_rank, + players[i].damage_rank, + players[i].deaths_rank) + } + j, err := json.Marshal(player_raw) + if err != nil { + log.Fatal(err) + } + // write to disc! + of, err = os.Create("raw_players.json") + if err != nil { + log.Fatal(err) + } + of.Write(j) + of.Close() + // write out ranking JSON var player_topranks = make(map[string]string) var ranklen = 30 @@ -425,7 +453,7 @@ func main() { player_topranks[fmt.Sprintf("%v", i+1)] = name } - j, err := json.Marshal(player_topranks) + j, err = json.Marshal(player_topranks) if err != nil { log.Fatal(err) } @@ -599,7 +627,32 @@ func main() { } // sort and output sort.Slice(boxes, func(a, b int) bool { return boxes[a].combined > boxes[b].combined }) + var boxes_raw = make(map[string]string) c := 0 + for i := range boxes { + c = c + 1 + boxes_raw[fmt.Sprintf("%v", c)] = fmt.Sprintf("%v: %v - %v %v %v %v %v %v", + boxes[i].box_id, + boxes[i].combined, + boxes[i].avg_damage_rank, + boxes[i].avg_deaths_rank, + boxes[i].avg_time_rank, + boxes[i].avg_rating_rank, + boxes[i].completed_players_rank, + boxes[i].completed_times_rank) + } + j, err = json.Marshal(boxes_raw) + if err != nil { + log.Fatal(err) + } + of, err = os.Create("raw_boxes.json") + if err != nil { + log.Fatal(err) + } + of.Write(j) + of.Close() + + c = 0 var boxes_topranks = make(map[string]string) for i := range boxes { if (boxes[i].builder == "sofar") || (boxes[i].builder == "nore") { @@ -692,6 +745,26 @@ func main() { builders[i].box_count_rank } sort.Slice(builders, func(a, b int) bool { return builders[a].combined > builders[b].combined }) + var builder_raw = make(map[string]string) + for i := range builders { + builder_raw[fmt.Sprintf("%v", i+1)] = fmt.Sprintf("%v: %v - %v %v", + builders[i].name, + builders[i].combined, + builders[i].box_rank_avg_rank, + builders[i].box_count_rank) + } + j, err = json.Marshal(builder_raw) + if err != nil { + log.Fatal(err) + } + // write to disc! + of, err = os.Create("raw_builders.json") + if err != nil { + log.Fatal(err) + } + of.Write(j) + of.Close() + var builder_topranks = make(map[string]string) for i := range builders { if i > 30 {