delete some stuff to clear my head
This commit is contained in:
parent
e61bbe0477
commit
b7aa862cf5
107
game.go
107
game.go
|
@ -1,107 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"scm.dairydemon.net/filifa/mlblive/internal/statsapi"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Team struct {
|
|
||||||
Location string
|
|
||||||
Name string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Game struct {
|
|
||||||
GamePk string
|
|
||||||
HomeTeam Team
|
|
||||||
AwayTeam Team
|
|
||||||
HomeScore uint
|
|
||||||
AwayScore uint
|
|
||||||
Plays []statsapi.Play
|
|
||||||
}
|
|
||||||
|
|
||||||
func feedUpdate(gamePk string, ts *string) (statsapi.Play, error) {
|
|
||||||
feed, err := statsapi.Feed(gamePk)
|
|
||||||
if err != nil {
|
|
||||||
return statsapi.Play{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
*ts = feed.MetaData.TimeStamp
|
|
||||||
return feed.LiveData.Plays.CurrentPlay, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func patchUpdate(patches statsapi.DiffPatchResponse, ts *string) []statsapi.Play {
|
|
||||||
var plays []statsapi.Play
|
|
||||||
var err error
|
|
||||||
for _, patch := range patches {
|
|
||||||
var play statsapi.Play
|
|
||||||
play.Patch(patch)
|
|
||||||
plays = append(plays, play)
|
|
||||||
|
|
||||||
*ts, err = patch.Timestamp()
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return plays
|
|
||||||
}
|
|
||||||
|
|
||||||
func (g *Game) Update(ts *string, updateId string) error {
|
|
||||||
var plays []statsapi.Play
|
|
||||||
|
|
||||||
patches, err := statsapi.DiffPatch(g.GamePk, *ts, updateId)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("feed update")
|
|
||||||
var p statsapi.Play
|
|
||||||
p, err = feedUpdate(g.GamePk, ts)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
plays = []statsapi.Play{p}
|
|
||||||
} else {
|
|
||||||
log.Println("patch update")
|
|
||||||
plays = patchUpdate(patches, ts)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, play := range plays {
|
|
||||||
i := play.AtBatIndex
|
|
||||||
if i >= len(g.Plays) {
|
|
||||||
g.Plays = append(g.Plays, play)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitGame(feed statsapi.FeedResponse) (*Game, error) {
|
|
||||||
hometeam := Team{
|
|
||||||
Location: feed.GameData.Teams.Home.LocationName,
|
|
||||||
Name: feed.GameData.Teams.Home.TeamName,
|
|
||||||
}
|
|
||||||
awayteam := Team{
|
|
||||||
Location: feed.GameData.Teams.Away.LocationName,
|
|
||||||
Name: feed.GameData.Teams.Away.TeamName,
|
|
||||||
}
|
|
||||||
|
|
||||||
homescore, err := feed.LiveData.Linescore.Teams.Home.Runs.Int64()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
awayscore, err := feed.LiveData.Linescore.Teams.Away.Runs.Int64()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
game := Game{
|
|
||||||
GamePk: feed.GamePk,
|
|
||||||
HomeTeam: hometeam,
|
|
||||||
AwayTeam: awayteam,
|
|
||||||
HomeScore: uint(homescore),
|
|
||||||
AwayScore: uint(awayscore),
|
|
||||||
Plays: feed.LiveData.Plays.AllPlays,
|
|
||||||
}
|
|
||||||
|
|
||||||
return &game, nil
|
|
||||||
}
|
|
Loading…
Reference in New Issue