testing updating a game type
This commit is contained in:
parent
9ebb5bf610
commit
def18e04e2
|
@ -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
|
||||
}
|
|
@ -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")
|
||||
|
|
19
main.go
19
main.go
|
@ -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)
|
||||
|
||||
|
@ -74,19 +71,19 @@ func main() {
|
|||
}
|
||||
|
||||
patches, err := statsapi.DiffPatch(gamePk, ts, p.UpdateId)
|
||||
if err != nil {
|
||||
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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue