testing updating a game type

This commit is contained in:
filifa 2024-07-03 23:52:40 -05:00
parent 9ebb5bf610
commit def18e04e2
3 changed files with 33 additions and 16 deletions

19
game.go Normal file
View File

@ -0,0 +1,19 @@
package main
import "scm.dairydemon.net/filifa/mlblive/internal/statsapi"
type Game struct {
CurrPlayDesc string
HomeScore uint
AwayScore uint
}
func (g *Game) Update(feed *statsapi.FeedResponse) {
homeScore, _ := (*feed)["liveData"].(map[string]any)["linescore"].(map[string]any)["teams"].(map[string]any)["home"].(map[string]any)["runs"].(float64)
awayScore, _ := (*feed)["liveData"].(map[string]any)["linescore"].(map[string]any)["teams"].(map[string]any)["away"].(map[string]any)["runs"].(float64)
desc, _ := (*feed)["liveData"].(map[string]any)["plays"].(map[string]any)["currentPlay"].(map[string]any)["result"].(map[string]any)["description"].(string)
g.HomeScore = uint(homeScore)
g.AwayScore = uint(awayScore)
g.CurrPlayDesc = desc
}

View File

@ -76,6 +76,7 @@ func patch(obj any, path string, value any) error {
if err != nil {
break
}
// FIXME: think i need to do bounds checking here too
err = patch(v[idx], rest, value)
default:
err = errors.New("couldn't determine type")

29
main.go
View File

@ -59,11 +59,8 @@ func main() {
log.Fatal(err)
}
j, err := json.Marshal(feed)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(j))
var game Game
game.Update(&feed)
ts := feed["metaData"].(map[string]any)["timeStamp"].(string)
@ -75,18 +72,18 @@ func main() {
patches, err := statsapi.DiffPatch(gamePk, ts, p.UpdateId)
if err != nil {
log.Fatal(err)
}
for _, patch := range patches {
for _, instr := range patch.Diff {
feed.Patch(&instr)
feed, err = statsapi.Feed(gamePk)
if err != nil {
log.Fatal(err)
}
} else {
for _, patch := range patches {
for _, instr := range patch.Diff {
feed.Patch(&instr)
}
}
}
j, err = json.Marshal(feed)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(j))
game.Update(&feed)
fmt.Println(game)
}