Het Satasiya | c34b3ea | 2022-02-06 17:28:49 -0800 | [diff] [blame] | 1 | package main |
| 2 | |
| 3 | // To run the demo, ensure that you have a file named scouting_config.json at the workspace root with your TBA api key in it. |
| 4 | import ( |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 5 | "encoding/json" |
| 6 | "flag" |
| 7 | "fmt" |
Het Satasiya | c34b3ea | 2022-02-06 17:28:49 -0800 | [diff] [blame] | 8 | "log" |
| 9 | |
| 10 | "github.com/davecgh/go-spew/spew" |
| 11 | "github.com/frc971/971-Robot-Code/scouting/scraping" |
| 12 | ) |
| 13 | |
| 14 | func main() { |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 15 | jsonPtr := flag.Bool("json", false, "If set, dump as JSON, rather than Go debug output.") |
Yash Chainani | 4e2b646 | 2022-03-26 15:23:17 -0700 | [diff] [blame^] | 16 | demoCategory := flag.String("category", "matches", "Decide whether to demo matches or rankings.") |
| 17 | |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 18 | flag.Parse() |
| 19 | |
Yash Chainani | 4e2b646 | 2022-03-26 15:23:17 -0700 | [diff] [blame^] | 20 | if *demoCategory == "rankings" { |
| 21 | // Get all the rankings. |
| 22 | rankings, err := scraping.AllRankings(2016, "nytr", "") |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 23 | if err != nil { |
Yash Chainani | 4e2b646 | 2022-03-26 15:23:17 -0700 | [diff] [blame^] | 24 | log.Fatal("Failed to scrape ranking list: ", err) |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 25 | } |
Yash Chainani | 4e2b646 | 2022-03-26 15:23:17 -0700 | [diff] [blame^] | 26 | |
| 27 | // Dump the rankings. |
| 28 | if *jsonPtr { |
| 29 | jsonData, err := json.MarshalIndent(rankings, "", " ") |
| 30 | if err != nil { |
| 31 | log.Fatal("Failed to turn ranking list into JSON: ", err) |
| 32 | } |
| 33 | fmt.Println(string(jsonData)) |
| 34 | } else { |
| 35 | spew.Dump(rankings) |
| 36 | } |
| 37 | } else if *demoCategory == "matches" { |
| 38 | // Get all the matches. |
| 39 | matches, err := scraping.AllMatches(2016, "nytr", "") |
| 40 | if err != nil { |
| 41 | log.Fatal("Failed to scrape match list: ", err) |
| 42 | } |
| 43 | |
| 44 | // Dump the matches. |
| 45 | if *jsonPtr { |
| 46 | jsonData, err := json.MarshalIndent(matches, "", " ") |
| 47 | if err != nil { |
| 48 | log.Fatal("Failed to turn match list into JSON: ", err) |
| 49 | } |
| 50 | fmt.Println(string(jsonData)) |
| 51 | } else { |
| 52 | spew.Dump(matches) |
| 53 | } |
Philipp Schrader | d3fac19 | 2022-03-02 20:35:46 -0800 | [diff] [blame] | 54 | } |
Het Satasiya | c34b3ea | 2022-02-06 17:28:49 -0800 | [diff] [blame] | 55 | } |