Source code for pbpstats.resources.boxscore.boxscore

"""
The ``Boxscore`` class has some basic properties for handling boxscore data
"""
from pbpstats.resources.base import Base


[docs]class Boxscore(Base): """ Class for boxscore items :param list items: list of either :obj:`~pbpstats.resources.boxscore.stats_nba_boxscore_item.StatsNbaBoxscoreItem` or :obj:`~pbpstats.resources.boxscore.live_boxscore_item.LiveBoxscoreItem` or :obj:`~pbpstats.resources.boxscore.data_nba_boxscore_item.DataNbaBoxscoreItem` items, typically from a boxscore data loader """ def __init__(self, items): self.items = items @property def data(self): """ returns dict with boxscore items split up by player and team """ return {"player": self.player_items, "team": self.team_items} @property def player_items(self): """ returns list of player boxscore items """ return [item.data for item in self.items if hasattr(item, "player_id")] @property def team_items(self): """ returns list of team boxscore items """ return [item.data for item in self.items if not hasattr(item, "player_id")] @property def player_name_map(self): """ returns dict mapping player id to player name """ return {item["player_id"]: item["name"] for item in self.player_items} @property def player_team_map(self): """ returns dict mapping player id to team id """ return {item["player_id"]: item["team_id"] for item in self.player_items}