sportsball 0.3.33__tar.gz → 0.3.34__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.33/sportsball.egg-info → sportsball-0.3.34}/PKG-INFO +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/setup.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/__init__.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_league_model.py +18 -15
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/combined/afl_combined_league_model.py +20 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_league_model.py +3 -2
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/game_model.py +1 -2
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/google/google_address_model.py +8194 -4812
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/combined/nba_combined_league_model.py +129 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/nba/nba_nba_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/nba/nba_nba_team_model.py +6 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/decrypt.py +8 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_team_model.py +2 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsdb/sportsdb_game_model.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsreference/sportsreference_game_model.py +154 -35
- sportsball-0.3.34/sportsball/data/sportsreference/sportsreference_league_model.py +121 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsreference/sportsreference_player_model.py +24 -2
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsreference/sportsreference_team_model.py +56 -11
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsreference/sportsreference_venue_model.py +3 -3
- sportsball-0.3.34/sportsball/data/wikipedia/wikipedia_venue_model.py +107 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/proxy_session.py +11 -6
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/session.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/SOURCES.txt +1 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/afl/afltables/afl_afltables_league_model_test.py +9 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/combined/combined_game_model_test.py +1 -1
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/game_model_test.py +1 -1
- sportsball-0.3.34/tests/data/oddsportal/decrypt_test.py +28 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/oddsportal/oddsportal_game_model_test.py +2 -2
- sportsball-0.3.34/tests/data/sportsreference/sportsreference_game_model_test.py +748 -0
- sportsball-0.3.34/tests/data/sportsreference/sportsreference_league_model_test.py +151 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsreference/sportsreference_team_model_test.py +60 -0
- sportsball-0.3.33/sportsball/data/sportsreference/sportsreference_league_model.py +0 -84
- sportsball-0.3.33/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -39
- sportsball-0.3.33/tests/data/sportsreference/sportsreference_game_model_test.py +0 -97
- sportsball-0.3.33/tests/data/sportsreference/sportsreference_league_model_test.py +0 -16
- {sportsball-0.3.33 → sportsball-0.3.34}/LICENSE +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/MANIFEST.in +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/README.md +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/requirements.txt +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/setup.cfg +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/__main__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/args.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/cache.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/address_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/field_type.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/league.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/nba/nba_nba_player_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/news_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/player_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/season_type.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/social_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/team_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/logger.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/loglevel.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/sportsball.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/google/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/nba/nba_nba_player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/social_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/team_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/x/__init__.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/proxy_session_test.py +0 -0
- {sportsball-0.3.33 → sportsball-0.3.34}/tests/sportsball_test.py +0 -0
@@ -26,7 +26,7 @@ def install_requires() -> typing.List[str]:
|
|
26
26
|
|
27
27
|
setup(
|
28
28
|
name='sportsball',
|
29
|
-
version='0.3.
|
29
|
+
version='0.3.34',
|
30
30
|
description='A library for pulling in and normalising sports stats.',
|
31
31
|
long_description=long_description,
|
32
32
|
long_description_content_type='text/markdown',
|
{sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
@@ -22,6 +22,23 @@ from .afl_afltables_game_model import create_afl_afltables_game_model
|
|
22
22
|
_SEASON_URL = "https://afltables.com/afl/seas/season_idx.html"
|
23
23
|
|
24
24
|
|
25
|
+
def _find_dt(td_text: str, season_url: str) -> datetime.datetime:
|
26
|
+
cleaned_text = (
|
27
|
+
td_text.split("Venue:")[0].split("Att:")[0].strip().split("(")[0].strip()
|
28
|
+
)
|
29
|
+
cleaned_text = " ".join(cleaned_text.split()[-3:])
|
30
|
+
try:
|
31
|
+
return parser.parse(cleaned_text)
|
32
|
+
except parser._parser.ParserError: # type: ignore
|
33
|
+
# Handle text like "Richmond Thu 13-Mar-2025 Venue: M.C.G."
|
34
|
+
cleaned_text = cleaned_text.split()[-1]
|
35
|
+
try:
|
36
|
+
return parser.parse(cleaned_text)
|
37
|
+
except parser._parser.ParserError as exc: # type: ignore
|
38
|
+
logging.error("Failed to parse date in season URL: %s", season_url)
|
39
|
+
raise exc
|
40
|
+
|
41
|
+
|
25
42
|
class AFLAFLTablesLeagueModel(LeagueModel):
|
26
43
|
"""AFL AFLTables implementation of the league model."""
|
27
44
|
|
@@ -60,21 +77,7 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
60
77
|
for td in table.find_all("td"):
|
61
78
|
td_text = td.get_text().strip()
|
62
79
|
if "Venue:" in td_text:
|
63
|
-
|
64
|
-
td_text.split("Venue:")[0]
|
65
|
-
.split("Att:")[0]
|
66
|
-
.strip()
|
67
|
-
.split("(")[0]
|
68
|
-
.strip()
|
69
|
-
)
|
70
|
-
cleaned_text = " ".join(cleaned_text.split()[-3:])
|
71
|
-
try:
|
72
|
-
current_dt = parser.parse(cleaned_text)
|
73
|
-
except parser._parser.ParserError as exc: # type: ignore
|
74
|
-
logging.error(
|
75
|
-
"Failed to parse date in season URL: %s", season_url
|
76
|
-
)
|
77
|
-
raise exc
|
80
|
+
current_dt = _find_dt(td_text, season_url)
|
78
81
|
for a in table.find_all("a", href=True):
|
79
82
|
if a.get_text().strip().lower() == "match stats":
|
80
83
|
url = urllib.parse.urljoin(season_url, a.get("href"))
|
{sportsball-0.3.33 → sportsball-0.3.34}/sportsball/data/afl/combined/afl_combined_league_model.py
RENAMED
@@ -138,6 +138,11 @@ BLACKTOWN = "blacktown"
|
|
138
138
|
RIVERWAY = "riverway"
|
139
139
|
NORWOOD = "norwood"
|
140
140
|
SUMMIT = "summit"
|
141
|
+
ANGEL_STADIUM = "Angel Stadium of Anaheim"
|
142
|
+
THUNDERDOME_STADIUM = "Thunderdome Stadium"
|
143
|
+
SPOTLAND_STADIUM = "Spotland Stadium"
|
144
|
+
GIANTS_STADIUM = "Giants Stadium"
|
145
|
+
TIPOS_ARENA = "Ondrej Nepela Arena"
|
141
146
|
AFL_VENUE_IDENTITY_MAP = {
|
142
147
|
"brunswick_st": BRUNSWICK_ST,
|
143
148
|
"victoria_park": VICTORIA_PARK,
|
@@ -189,6 +194,7 @@ AFL_VENUE_IDENTITY_MAP = {
|
|
189
194
|
"riverway": RIVERWAY,
|
190
195
|
"norwood": NORWOOD,
|
191
196
|
"summit": SUMMIT,
|
197
|
+
# Aus Sports Betting
|
192
198
|
"MCG": MCG,
|
193
199
|
"SCG": SCG,
|
194
200
|
"ENGIE Stadium": STADIUM_AUSTRALIA,
|
@@ -217,6 +223,20 @@ AFL_VENUE_IDENTITY_MAP = {
|
|
217
223
|
"Blacktown Park": BLACKTOWN,
|
218
224
|
# OddsPortal
|
219
225
|
"Melbourne Cricket Ground": MCG,
|
226
|
+
"Angel Stadium of Anaheim": ANGEL_STADIUM,
|
227
|
+
"The Gabba": GABBA,
|
228
|
+
"Sydney Cricket Ground": SCG,
|
229
|
+
"Subiaco Oval": SUBIACO,
|
230
|
+
"Thunderdome Stadium": THUNDERDOME_STADIUM,
|
231
|
+
"University of Tasmania Stadium": YORK_PARK,
|
232
|
+
"Spotland Stadium": SPOTLAND_STADIUM,
|
233
|
+
"Engie Stadium": STADIUM_AUSTRALIA,
|
234
|
+
"Cazaly's Stadium": CAZALYS_STADIUM,
|
235
|
+
"Jiangwan Stadium": JIANGWAN,
|
236
|
+
"TIO Traeger Park": TRAEGER,
|
237
|
+
"Marrara Oval": MARRARA_OVAL,
|
238
|
+
"Giants Stadium": GIANTS_STADIUM,
|
239
|
+
"Ondrej Nepela Arena": TIPOS_ARENA,
|
220
240
|
}
|
221
241
|
|
222
242
|
|
@@ -3,6 +3,7 @@
|
|
3
3
|
# pylint: disable=raise-missing-from
|
4
4
|
import logging
|
5
5
|
import multiprocessing
|
6
|
+
import sys
|
6
7
|
import traceback
|
7
8
|
from multiprocessing import Pool
|
8
9
|
from typing import Any, Iterator
|
@@ -61,8 +62,8 @@ class CombinedLeagueModel(LeagueModel):
|
|
61
62
|
with Pool(min(multiprocessing.cpu_count(), len(self._league_models))) as p:
|
62
63
|
# We want to terminate immediately if any of our runners runs into trouble.
|
63
64
|
def _error_callback(exc: BaseException) -> None:
|
64
|
-
|
65
|
-
|
65
|
+
logging.error(str(exc))
|
66
|
+
sys.exit(1)
|
66
67
|
|
67
68
|
results = [
|
68
69
|
p.apply_async(
|
@@ -7,7 +7,6 @@ import pytz
|
|
7
7
|
from pydantic import BaseModel, Field
|
8
8
|
|
9
9
|
from .field_type import TYPE_KEY, FieldType
|
10
|
-
from .league import League
|
11
10
|
from .season_type import SeasonType
|
12
11
|
from .team_model import TeamModel
|
13
12
|
from .venue_model import VenueModel
|
@@ -54,7 +53,7 @@ class GameModel(BaseModel):
|
|
54
53
|
..., json_schema_extra={TYPE_KEY: FieldType.LOOKAHEAD}, alias=END_DT_COLUMN
|
55
54
|
)
|
56
55
|
attendance: int | None = Field(..., alias=GAME_ATTENDANCE_COLUMN)
|
57
|
-
league:
|
56
|
+
league: str = Field(..., alias=LEAGUE_COLUMN)
|
58
57
|
year: int | None
|
59
58
|
season_type: SeasonType | None
|
60
59
|
postponed: bool | None = Field(
|