mlblive/cmd/game.go

48 lines
1.3 KiB
Go

/*
Copyright © 2024 filifa
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.
*/
package cmd
import "scm.dairydemon.net/filifa/mlblive/cmd/internal/statsapi"
type Game struct {
CurrPlayDesc string
HomeScore uint
AwayScore uint
}
func (g *Game) Update(feed *statsapi.Feed) error {
homeScore := feed.LiveData.Linescore.Teams.Home.Runs
awayScore := feed.LiveData.Linescore.Teams.Away.Runs
// FIXME: currentPlay/result doesn't always have description
desc := feed.LiveData.Plays.CurrentPlay.Result.Description
score, err := homeScore.Int64()
if err != nil {
return err
}
g.HomeScore = uint(score)
score, err = awayScore.Int64()
if err != nil {
return err
}
g.AwayScore = uint(score)
g.CurrPlayDesc = desc
return nil
}