Source code for pbpstats.data_loader.stats_nba.shots.file

import json
from pathlib import Path

from pbpstats.data_loader.abs_data_loader import check_file_directory
from pbpstats.data_loader.stats_nba.file_loader import StatsNbaFileLoader


[docs]class StatsNbaShotsFileLoader(StatsNbaFileLoader): """ A ``StatsNbaShotsFileLoader`` object should be instantiated and passed into ``StatsNbaShotsLoader`` when loading data from file :param str file_directory: Directory in which data should be loaded from. The specific file location will be `stats_home_shots_<game_id>.json` and `stats_away_shots_<game_id>.json` in the `/game_details` subdirectory. """ def __init__(self, file_directory): self.file_directory = file_directory
[docs] @check_file_directory def load_data(self, game_id): self.game_id = game_id self.home_file_path = ( f"{self.file_directory }/game_details/stats_home_shots_{self.game_id}.json" ) self.away_file_path = ( f"{self.file_directory }/game_details/stats_away_shots_{self.game_id}.json" ) home_data_file = Path(self.home_file_path) if not home_data_file.is_file(): raise Exception(f"{self.home_file_path} does not exist") with open(self.home_file_path) as json_data: self.home_source_data = json.load(json_data) away_data_file = Path(self.away_file_path) if not away_data_file.is_file(): raise Exception(f"{self.away_file_path} does not exist") with open(self.away_file_path) as json_data: self.away_source_data = json.load(json_data) return self.home_source_data, self.away_source_data