Source code for pbpstats.resources.enhanced_pbp.data_nba.free_throw

from pbpstats.resources.enhanced_pbp import FreeThrow
from pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item import (
    DataEnhancedPbpItem,
)


[docs]class DataFreeThrow(FreeThrow, DataEnhancedPbpItem): """ Class for free throw events """ event_type = 3 def __init__(self, *args): super().__init__(*args) @property def is_made(self): """ returns True if shot was made, False otherwise """ return " Missed" not in self.description @property def is_ft_1_of_1(self): return self.event_action_type == 10 or self.event_action_type == 20 @property def is_ft_1_of_2(self): return self.event_action_type == 11 @property def is_ft_2_of_2(self): return self.event_action_type == 12 @property def is_ft_1_of_3(self): return self.event_action_type == 13 or self.event_action_type == 27 @property def is_ft_2_of_3(self): return self.event_action_type == 14 @property def is_ft_3_of_3(self): return self.event_action_type == 15 @property def is_technical_ft(self): return " Technical" in self.description @property def is_flagrant_ft(self): return " Flagrant" in self.description @property def is_ft_1pt(self): """ returns True if free throw is a 1 point free throw, False otherwise Only used in g-league, starting in 2019-20 season """ return self.event_action_type == 30 or self.event_action_type == 35 @property def is_ft_2pt(self): """ returns True if free throw is a 2 point free throw, False otherwise Only used in g-league, starting in 2019-20 season """ return self.event_action_type == 31 or self.event_action_type == 36 @property def is_ft_3pt(self): """ returns True if free throw is a 3 point free throw, False otherwise Only used in g-league, starting in 2019-20 season """ return self.event_action_type == 32 or self.event_action_type == 37