| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package extract
- import balldontlie._
- import game.{Team, PlayerGameStats}
- import upickle.default._
- object Extract {
- val selectedTeams = List(
- "Phoenix Suns",
- "Atlanta Hawks",
- "Los Angeles Lakers",
- "Milwaukee Bucks"
- ).take(4)
- def writeOrReadBack[T: ReadWriter](
- file: os.Path,
- getRemoteData: () => T
- ): T = {
- if (!os.exists(file)) {
- val data = getRemoteData()
- Utils.writeToFile[T](data, file)
- data
- } else {
- println(s"file $file already exists, reading back from it")
- Utils.readFromFile[T](file)
- }
- }
- def getTeams(output: os.Path, filterTeams: Team => Boolean) = {
- def getData() = {
- EndpointResponse
- .getTeams()
- .filter(filterTeams)
- }
- writeOrReadBack(output, getData)
- }
- def getGames(output: os.Path, season: Int, teamIds: List[Int]) = {
- def getData() = {
- EndpointResponse.getGames(2021, teamIds)
- }
- writeOrReadBack(output, getData)
- }
- def getStats(file: os.Path, gameIds: List[Int]) = {
- if (!os.exists(file)) {
- val data = EndpointResponse.getStats(gameIds)
- Utils.writeToFile(PlayerGameStats.as_json_value(data), file)
- data
- } else {
- println(s"file $file already exists, reading back from it")
- Utils.readFromFile[List[PlayerGameStats]](file)
- }
- }
- }
|