sportsball 0.3.17__tar.gz → 0.3.18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sportsball-0.3.17/sportsball.egg-info → sportsball-0.3.18}/PKG-INFO +1 -1
- {sportsball-0.3.17 → sportsball-0.3.18}/setup.py +1 -1
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/__init__.py +1 -1
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_player_model.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_player_model.py +5 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_player_model.py +2 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/google/google_address_model.py +57 -27
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/nba/nba_nba_player_model.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/nba/nba_nba_team_model.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/player_model.py +6 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/sportsreference_game_model.py +6 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/sportsreference_player_model.py +7 -3
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/sportsreference_team_model.py +8 -2
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/team_model.py +21 -0
- {sportsball-0.3.17 → sportsball-0.3.18/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/combined/combined_player_model_test.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/nba/nba_nba_game_model_test.py +4 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/nba/nba_nba_team_model_test.py +2 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/player_model_test.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/sportsreference_player_model_test.py +1 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/sportsreference_team_model_test.py +3 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/LICENSE +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/MANIFEST.in +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/README.md +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/requirements.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/setup.cfg +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/__main__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/args.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/cache.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/address_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/field_type.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/league.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/news_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/season_type.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/social_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/logger.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/loglevel.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/proxy_session.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/session.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball/sportsball.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/google/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/nba/nba_nba_player_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/social_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/team_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/x/__init__.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/proxy_session_test.py +0 -0
- {sportsball-0.3.17 → sportsball-0.3.18}/tests/sportsball_test.py +0 -0
@@ -23,7 +23,7 @@ def install_requires() -> typing.List[str]:
|
|
23
23
|
|
24
24
|
setup(
|
25
25
|
name='sportsball',
|
26
|
-
version='0.3.
|
26
|
+
version='0.3.18',
|
27
27
|
description='A library for pulling in and normalising sports stats.',
|
28
28
|
long_description=long_description,
|
29
29
|
long_description_content_type='text/markdown',
|
@@ -16,6 +16,7 @@ def create_combined_player_model(
|
|
16
16
|
field_goals_attempted = None
|
17
17
|
offensive_rebounds = None
|
18
18
|
assists = None
|
19
|
+
turnovers = None
|
19
20
|
for player_model in player_models:
|
20
21
|
player_model_jersey = player_model.jersey
|
21
22
|
if player_model_jersey is not None:
|
@@ -41,6 +42,9 @@ def create_combined_player_model(
|
|
41
42
|
player_model_assists = player_model.assists
|
42
43
|
if player_model_assists is not None:
|
43
44
|
assists = player_model_assists
|
45
|
+
player_model_turnovers = player_model.turnovers
|
46
|
+
if player_model_turnovers is not None:
|
47
|
+
turnovers = player_model_turnovers
|
44
48
|
return PlayerModel(
|
45
49
|
identifier=identifier,
|
46
50
|
jersey=jersey,
|
@@ -51,4 +55,5 @@ def create_combined_player_model(
|
|
51
55
|
field_goals_attempted=field_goals_attempted,
|
52
56
|
offensive_rebounds=offensive_rebounds,
|
53
57
|
assists=assists,
|
58
|
+
turnovers=turnovers,
|
54
59
|
)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"""ESPN player model."""
|
2
2
|
|
3
|
+
# pylint: disable=duplicate-code
|
3
4
|
import datetime
|
4
5
|
from typing import Any
|
5
6
|
|
@@ -38,6 +39,7 @@ def _create_espn_player_model(
|
|
38
39
|
field_goals_attempted=None,
|
39
40
|
offensive_rebounds=None,
|
40
41
|
assists=None,
|
42
|
+
turnovers=None,
|
41
43
|
)
|
42
44
|
|
43
45
|
|
@@ -1027,6 +1027,33 @@ ESPN_WIDE_WORLD_OF_SPORTS_COMPLEX = SportsballGeocodeTuple(
|
|
1027
1027
|
housenumber="1375",
|
1028
1028
|
country="USA",
|
1029
1029
|
)
|
1030
|
+
QUICKEN_LOANS_ARENA = SportsballGeocodeTuple(
|
1031
|
+
city="Cleveland",
|
1032
|
+
state="OH",
|
1033
|
+
postal="",
|
1034
|
+
lat=41.496389,
|
1035
|
+
lng=-81.688056,
|
1036
|
+
housenumber="1",
|
1037
|
+
country="USA",
|
1038
|
+
)
|
1039
|
+
KASEYA_CENTER = SportsballGeocodeTuple(
|
1040
|
+
city="Miami",
|
1041
|
+
state="FL",
|
1042
|
+
postal="",
|
1043
|
+
lat=25.781389,
|
1044
|
+
lng=-80.188056,
|
1045
|
+
housenumber="601",
|
1046
|
+
country="USA",
|
1047
|
+
)
|
1048
|
+
DUNN_OLIVER_ACADOME = SportsballGeocodeTuple(
|
1049
|
+
city="Montgomery",
|
1050
|
+
state="AL",
|
1051
|
+
postal="",
|
1052
|
+
lat=32.36185,
|
1053
|
+
lng=-86.293158,
|
1054
|
+
housenumber="",
|
1055
|
+
country="USA",
|
1056
|
+
)
|
1030
1057
|
_CACHED_GEOCODES: dict[str, Any] = {
|
1031
1058
|
"S.C.G. - Australia": SCG,
|
1032
1059
|
"Victoria Park - Australia": SportsballGeocodeTuple(
|
@@ -5853,15 +5880,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
5853
5880
|
housenumber="1000",
|
5854
5881
|
country="USA",
|
5855
5882
|
),
|
5856
|
-
"DunnâOliver Acadome, Montgomery, Alabama":
|
5857
|
-
city="Montgomery",
|
5858
|
-
state="AL",
|
5859
|
-
postal="",
|
5860
|
-
lat=32.36185,
|
5861
|
-
lng=-86.293158,
|
5862
|
-
housenumber="",
|
5863
|
-
country="USA",
|
5864
|
-
),
|
5883
|
+
"DunnâOliver Acadome, Montgomery, Alabama": DUNN_OLIVER_ACADOME,
|
5865
5884
|
"Health & Physical Education Arena, Houston, Texas": SportsballGeocodeTuple(
|
5866
5885
|
city="Houston",
|
5867
5886
|
state="TX",
|
@@ -6521,15 +6540,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
6521
6540
|
country="USA",
|
6522
6541
|
),
|
6523
6542
|
"America West Arena": AMERICA_WEST_ARENA,
|
6524
|
-
"Quicken Loans Arena - Cleveland, Ohio - United States":
|
6525
|
-
city="Cleveland",
|
6526
|
-
state="OH",
|
6527
|
-
postal="",
|
6528
|
-
lat=41.496389,
|
6529
|
-
lng=-81.688056,
|
6530
|
-
housenumber="1",
|
6531
|
-
country="USA",
|
6532
|
-
),
|
6543
|
+
"Quicken Loans Arena - Cleveland, Ohio - United States": QUICKEN_LOANS_ARENA,
|
6533
6544
|
"Pepsi Center - Denver, Colorado, U.S. - United States": PEPSI_CENTRE,
|
6534
6545
|
"Staples Center": STAPLES_CENTRE,
|
6535
6546
|
"American Airlines Arena": AMERICAN_AIRLINES_ARENA,
|
@@ -6949,15 +6960,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
6949
6960
|
country="USA",
|
6950
6961
|
),
|
6951
6962
|
"Golden 1 Center, Sacramento, California": GOLDEN_1_CENTER,
|
6952
|
-
"Kaseya Center, Miami, Florida":
|
6953
|
-
city="Miami",
|
6954
|
-
state="FL",
|
6955
|
-
postal="",
|
6956
|
-
lat=25.781389,
|
6957
|
-
lng=-80.188056,
|
6958
|
-
housenumber="601",
|
6959
|
-
country="USA",
|
6960
|
-
),
|
6963
|
+
"Kaseya Center, Miami, Florida": KASEYA_CENTER,
|
6961
6964
|
"Scotiabank Arena, Toronto, Canada": SportsballGeocodeTuple(
|
6962
6965
|
city="Toronto",
|
6963
6966
|
state="ON",
|
@@ -6994,6 +6997,33 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
6994
6997
|
"Chesapeake Energy Arena, Oklahoma City, Oklahoma": CHESAPEAKE_ENERGY_ARENA,
|
6995
6998
|
"The Arena, Bay Lake, Florida": ESPN_WIDE_WORLD_OF_SPORTS_COMPLEX,
|
6996
6999
|
"HP Field House, Bay Lake, Florida": ESPN_WIDE_WORLD_OF_SPORTS_COMPLEX,
|
7000
|
+
"Mexico City Arena, Mexico City, Mexico": SportsballGeocodeTuple(
|
7001
|
+
city="Mexico City",
|
7002
|
+
state="",
|
7003
|
+
postal="04650",
|
7004
|
+
lat=19.496309,
|
7005
|
+
lng=-99.175429,
|
7006
|
+
housenumber="",
|
7007
|
+
country="Mexico",
|
7008
|
+
),
|
7009
|
+
"Amway Center, Orlando, Florida": ORLANDO_ARENA,
|
7010
|
+
"Phoenix Suns Arena, Phoenix, Arizona": AMERICA_WEST_ARENA,
|
7011
|
+
"Quicken Loans Arena, Cleveland, Ohio": QUICKEN_LOANS_ARENA,
|
7012
|
+
"STAPLES Center, Los Angeles, California": STAPLES_CENTRE,
|
7013
|
+
"Bankers Life Fieldhouse, Indianapolis, Indiana": GAINBRIDGE_FIELDHOUSE,
|
7014
|
+
"AmericanAirlines Arena, Miami, Florida": KASEYA_CENTER,
|
7015
|
+
"Amalie Arena, Tampa, Florida": SportsballGeocodeTuple(
|
7016
|
+
city="Tampa",
|
7017
|
+
state="FL",
|
7018
|
+
postal="",
|
7019
|
+
lat=27.942778,
|
7020
|
+
lng=-82.451944,
|
7021
|
+
housenumber="401",
|
7022
|
+
country="USA",
|
7023
|
+
),
|
7024
|
+
"Pepsi Center, Denver, Colorado": PEPSI_CENTRE,
|
7025
|
+
"Visa Athletic Center, Bay Lake, Florida": ESPN_WIDE_WORLD_OF_SPORTS_COMPLEX,
|
7026
|
+
"Dunn–Oliver Acadome, Montgomery, Alabama": DUNN_OLIVER_ACADOME,
|
6997
7027
|
}
|
6998
7028
|
|
6999
7029
|
|
@@ -14,6 +14,7 @@ FIELD_GOALS_COLUMN: Literal["field_goals"] = "field_goals"
|
|
14
14
|
FIELD_GOALS_ATTEMPTED_COLUMN: Literal["field_goals_attempted"] = "field_goals_attempted"
|
15
15
|
OFFENSIVE_REBOUNDS_COLUMN: Literal["offensive_rebounds"] = "offensive_rebounds"
|
16
16
|
ASSISTS_COLUMN: Literal["assists"] = "assists"
|
17
|
+
TURNOVERS_COLUMN: Literal["turnovers"] = "turnovers"
|
17
18
|
|
18
19
|
|
19
20
|
class PlayerModel(BaseModel):
|
@@ -60,3 +61,8 @@ class PlayerModel(BaseModel):
|
|
60
61
|
json_schema_extra={TYPE_KEY: FieldType.LOOKAHEAD},
|
61
62
|
alias=ASSISTS_COLUMN,
|
62
63
|
)
|
64
|
+
turnovers: int | None = Field(
|
65
|
+
...,
|
66
|
+
json_schema_extra={TYPE_KEY: FieldType.LOOKAHEAD},
|
67
|
+
alias=TURNOVERS_COLUMN,
|
68
|
+
)
|
@@ -72,6 +72,7 @@ def _create_sportsreference_game_model(
|
|
72
72
|
fga = {}
|
73
73
|
offensive_rebounds = {}
|
74
74
|
assists = {}
|
75
|
+
turnovers = {}
|
75
76
|
for df in dfs:
|
76
77
|
if df.index.nlevels > 1:
|
77
78
|
df.columns = df.columns.get_level_values(1)
|
@@ -93,6 +94,10 @@ def _create_sportsreference_game_model(
|
|
93
94
|
asts = df["AST"].tolist()
|
94
95
|
for idx, player in enumerate(players):
|
95
96
|
assists[player] = asts[idx]
|
97
|
+
if "TOV" in df.columns.values:
|
98
|
+
tovs = df["TOV"].tolist()
|
99
|
+
for idx, player in enumerate(players):
|
100
|
+
turnovers[player] = tovs[idx]
|
96
101
|
|
97
102
|
teams: list[TeamModel] = []
|
98
103
|
for a in scorebox_div.find_all("a"):
|
@@ -110,6 +115,7 @@ def _create_sportsreference_game_model(
|
|
110
115
|
fga,
|
111
116
|
offensive_rebounds,
|
112
117
|
assists,
|
118
|
+
turnovers,
|
113
119
|
)
|
114
120
|
)
|
115
121
|
|
@@ -28,6 +28,7 @@ def _create_sportsreference_player_model(
|
|
28
28
|
fga: dict[str, int],
|
29
29
|
offensive_rebounds: dict[str, int],
|
30
30
|
assists: dict[str, int],
|
31
|
+
turnovers: dict[str, int],
|
31
32
|
) -> PlayerModel | None:
|
32
33
|
"""Create a player model from NCAAB sports reference."""
|
33
34
|
player_url = _fix_url(player_url)
|
@@ -53,6 +54,7 @@ def _create_sportsreference_player_model(
|
|
53
54
|
field_goals_attempted=fga.get(name),
|
54
55
|
offensive_rebounds=offensive_rebounds.get(name),
|
55
56
|
assists=assists.get(name),
|
57
|
+
turnovers=turnovers.get(name),
|
56
58
|
)
|
57
59
|
|
58
60
|
|
@@ -64,9 +66,10 @@ def _cached_create_sportsreference_player_model(
|
|
64
66
|
fga: dict[str, int],
|
65
67
|
offensive_rebounds: dict[str, int],
|
66
68
|
assists: dict[str, int],
|
69
|
+
turnovers: dict[str, int],
|
67
70
|
) -> PlayerModel | None:
|
68
71
|
return _create_sportsreference_player_model(
|
69
|
-
session, player_url, fg, fga, offensive_rebounds, assists
|
72
|
+
session, player_url, fg, fga, offensive_rebounds, assists, turnovers
|
70
73
|
)
|
71
74
|
|
72
75
|
|
@@ -78,13 +81,14 @@ def create_sportsreference_player_model(
|
|
78
81
|
fga: dict[str, int],
|
79
82
|
offensive_rebounds: dict[str, int],
|
80
83
|
assists: dict[str, int],
|
84
|
+
turnovers: dict[str, int],
|
81
85
|
) -> PlayerModel | None:
|
82
86
|
"""Create a player model from sports reference."""
|
83
87
|
if not pytest_is_running.is_running():
|
84
88
|
return _cached_create_sportsreference_player_model(
|
85
|
-
session, player_url, fg, fga, offensive_rebounds, assists
|
89
|
+
session, player_url, fg, fga, offensive_rebounds, assists, turnovers
|
86
90
|
)
|
87
91
|
with session.cache_disabled():
|
88
92
|
return _create_sportsreference_player_model(
|
89
|
-
session, player_url, fg, fga, offensive_rebounds, assists
|
93
|
+
session, player_url, fg, fga, offensive_rebounds, assists, turnovers
|
90
94
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"""Sports Reference team model."""
|
2
2
|
|
3
|
-
# pylint: disable=too-many-arguments,too-many-locals
|
3
|
+
# pylint: disable=too-many-arguments,too-many-locals,duplicate-code
|
4
4
|
import datetime
|
5
5
|
import json
|
6
6
|
import urllib.parse
|
@@ -30,6 +30,7 @@ def _create_sportsreference_team_model(
|
|
30
30
|
fga: dict[str, int],
|
31
31
|
offensive_rebounds: dict[str, int],
|
32
32
|
assists: dict[str, int],
|
33
|
+
turnovers: dict[str, int],
|
33
34
|
) -> TeamModel:
|
34
35
|
response = session.get(url)
|
35
36
|
response.raise_for_status()
|
@@ -58,7 +59,7 @@ def _create_sportsreference_team_model(
|
|
58
59
|
y
|
59
60
|
for y in [ # pyright: ignore
|
60
61
|
create_sportsreference_player_model(
|
61
|
-
session, x, dt, fg, fga, offensive_rebounds, assists
|
62
|
+
session, x, dt, fg, fga, offensive_rebounds, assists, turnovers
|
62
63
|
)
|
63
64
|
for x in valid_player_urls
|
64
65
|
]
|
@@ -85,6 +86,7 @@ def _cached_create_sportsreference_team_model(
|
|
85
86
|
fga: dict[str, int],
|
86
87
|
offensive_rebounds: dict[str, int],
|
87
88
|
assists: dict[str, int],
|
89
|
+
turnovers: dict[str, int],
|
88
90
|
) -> TeamModel:
|
89
91
|
return _create_sportsreference_team_model(
|
90
92
|
session,
|
@@ -97,6 +99,7 @@ def _cached_create_sportsreference_team_model(
|
|
97
99
|
fga,
|
98
100
|
offensive_rebounds,
|
99
101
|
assists,
|
102
|
+
turnovers,
|
100
103
|
)
|
101
104
|
|
102
105
|
|
@@ -111,6 +114,7 @@ def create_sportsreference_team_model(
|
|
111
114
|
fga: dict[str, int],
|
112
115
|
offensive_rebounds: dict[str, int],
|
113
116
|
assists: dict[str, int],
|
117
|
+
turnovers: dict[str, int],
|
114
118
|
) -> TeamModel:
|
115
119
|
"""Create a team model from Sports Reference."""
|
116
120
|
if not pytest_is_running.is_running():
|
@@ -125,6 +129,7 @@ def create_sportsreference_team_model(
|
|
125
129
|
fga,
|
126
130
|
offensive_rebounds,
|
127
131
|
assists,
|
132
|
+
turnovers,
|
128
133
|
)
|
129
134
|
with session.cache_disabled():
|
130
135
|
return _create_sportsreference_team_model(
|
@@ -138,4 +143,5 @@ def create_sportsreference_team_model(
|
|
138
143
|
fga,
|
139
144
|
offensive_rebounds,
|
140
145
|
assists,
|
146
|
+
turnovers,
|
141
147
|
)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"""The prototype class for a team."""
|
2
2
|
|
3
|
+
# pylint: disable=duplicate-code
|
3
4
|
from typing import Any, Literal
|
4
5
|
|
5
6
|
from pydantic import BaseModel, Field
|
@@ -18,6 +19,7 @@ FIELD_GOALS_COLUMN: Literal["field_goals"] = "field_goals"
|
|
18
19
|
FIELD_GOALS_ATTEMPTED_COLUMN: Literal["field_goals_attempted"] = "field_goals_attempted"
|
19
20
|
OFFENSIVE_REBOUNDS_COLUMN: Literal["offensive_rebounds"] = "offensive_rebounds"
|
20
21
|
ASSISTS_COLUMN: Literal["assists"] = "assists"
|
22
|
+
TURNOVERS_COLUMN: Literal["turnovers"] = "turnovers"
|
21
23
|
|
22
24
|
|
23
25
|
def _calculate_kicks(data: dict[str, Any]) -> int | None:
|
@@ -90,6 +92,20 @@ def _calculate_assists(data: dict[str, Any]) -> int | None:
|
|
90
92
|
return assists
|
91
93
|
|
92
94
|
|
95
|
+
def _calculate_turnovers(data: dict[str, Any]) -> int | None:
|
96
|
+
turnovers = 0
|
97
|
+
found_turnovers = False
|
98
|
+
for player in data[PLAYER_COLUMN_PREFIX]:
|
99
|
+
player_turnovers = player.turnovers
|
100
|
+
if player_turnovers is None:
|
101
|
+
continue
|
102
|
+
found_turnovers = True
|
103
|
+
turnovers += player_turnovers
|
104
|
+
if not found_turnovers:
|
105
|
+
return None
|
106
|
+
return turnovers
|
107
|
+
|
108
|
+
|
93
109
|
class TeamModel(BaseModel):
|
94
110
|
"""The serialisable team class."""
|
95
111
|
|
@@ -136,3 +152,8 @@ class TeamModel(BaseModel):
|
|
136
152
|
json_schema_extra={TYPE_KEY: FieldType.LOOKAHEAD},
|
137
153
|
alias=ASSISTS_COLUMN,
|
138
154
|
)
|
155
|
+
turnovers: int | None = Field(
|
156
|
+
default_factory=_calculate_turnovers,
|
157
|
+
json_schema_extra={TYPE_KEY: FieldType.LOOKAHEAD},
|
158
|
+
alias=TURNOVERS_COLUMN,
|
159
|
+
)
|
@@ -38,6 +38,8 @@ class TestNBANBAGameModel(unittest.TestCase):
|
|
38
38
|
12.0,
|
39
39
|
20.0,
|
40
40
|
30.0,
|
41
|
+
12,
|
42
|
+
15,
|
41
43
|
], index=[
|
42
44
|
"SEASON_ID",
|
43
45
|
"GAME_DATE",
|
@@ -56,6 +58,8 @@ class TestNBANBAGameModel(unittest.TestCase):
|
|
56
58
|
"OREB_B",
|
57
59
|
"AST_A",
|
58
60
|
"AST_B",
|
61
|
+
"TOV_A",
|
62
|
+
"TOV_B",
|
59
63
|
]),
|
60
64
|
League.NBA,
|
61
65
|
0,
|
@@ -35,6 +35,7 @@ class TestNBANBATeamModel(unittest.TestCase):
|
|
35
35
|
10.0,
|
36
36
|
10.0,
|
37
37
|
20.0,
|
38
|
+
40,
|
38
39
|
], index=[
|
39
40
|
"TEAM_ID_B",
|
40
41
|
"TEAM_NAME_B",
|
@@ -45,6 +46,7 @@ class TestNBANBATeamModel(unittest.TestCase):
|
|
45
46
|
"FGA_B",
|
46
47
|
"OREB_B",
|
47
48
|
"AST_B",
|
49
|
+
"TOV_B",
|
48
50
|
]),
|
49
51
|
False,
|
50
52
|
self.session,
|
@@ -31,6 +31,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
|
|
31
31
|
{},
|
32
32
|
{},
|
33
33
|
{},
|
34
|
+
{},
|
34
35
|
)
|
35
36
|
self.assertEqual(team_model.identifier, "Villanova Wildcats Men's")
|
36
37
|
|
@@ -55,6 +56,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
|
|
55
56
|
{},
|
56
57
|
{},
|
57
58
|
{},
|
59
|
+
{},
|
58
60
|
)
|
59
61
|
self.assertEqual(team_model.field_goals, 8)
|
60
62
|
|
@@ -81,5 +83,6 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
|
|
81
83
|
},
|
82
84
|
{},
|
83
85
|
{},
|
86
|
+
{},
|
84
87
|
)
|
85
88
|
self.assertEqual(team_model.field_goals_attempted, 10)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/afltables/afl_afltables_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/afl/combined/afl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/combined/nba_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/combined/nfl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/tests/data/afl/afltables/afl_afltables_player_model_test.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.17 → sportsball-0.3.18}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|