sportsball 0.3.58__tar.gz → 0.3.60__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.58/sportsball.egg-info → sportsball-0.3.60}/PKG-INFO +1 -1
- {sportsball-0.3.58 → sportsball-0.3.60}/setup.py +1 -1
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/__init__.py +1 -1
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/afl_afl_league_model.py +10 -2
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/google/google_address_model.py +49 -18
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/sportsreference_game_model.py +31 -27
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/sportsreference_team_model.py +14 -0
- {sportsball-0.3.58 → sportsball-0.3.60/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.3.58 → sportsball-0.3.60}/LICENSE +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/MANIFEST.in +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/README.md +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/requirements.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/setup.cfg +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/__main__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/args.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/cache.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/address_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/field_type.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/league.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/news_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/season_type.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/social_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/team_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/logger.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/loglevel.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/playwright.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/proxy_session.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/session.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/sportsball.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/google/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/player_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/social_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/team_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/x/__init__.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/tests/proxy_session_test.py +0 -0
- {sportsball-0.3.58 → sportsball-0.3.60}/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.60',
|
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',
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"""AFL AFL league model."""
|
2
2
|
|
3
|
-
# pylint: disable=too-many-statements,protected-access,too-many-locals
|
3
|
+
# pylint: disable=too-many-statements,protected-access,too-many-locals,bare-except
|
4
4
|
import datetime
|
5
|
+
import logging
|
5
6
|
import re
|
6
7
|
from typing import Iterator
|
7
8
|
|
@@ -32,7 +33,14 @@ class AFLAFLLeagueModel(LeagueModel):
|
|
32
33
|
browser = p.chromium.launch()
|
33
34
|
context = browser.new_context()
|
34
35
|
page = context.new_page()
|
35
|
-
|
36
|
+
try:
|
37
|
+
page.goto(
|
38
|
+
"https://www.afl.com.au/ladder",
|
39
|
+
wait_until="networkidle",
|
40
|
+
timeout=60000.0,
|
41
|
+
)
|
42
|
+
except: # noqa: E722
|
43
|
+
logging.warning("Ladder URL timed out.")
|
36
44
|
soup = BeautifulSoup(page.content(), "lxml")
|
37
45
|
for span in soup.find_all(
|
38
46
|
"span", {"class": re.compile(".*stats-table__club-name.*")}
|
@@ -2278,6 +2278,24 @@ BROOKSHIRE_GROCERY_ARENA = SportsballGeocodeTuple(
|
|
2278
2278
|
housenumber="2000",
|
2279
2279
|
country="USA",
|
2280
2280
|
)
|
2281
|
+
NEW_ORLEANS_CITY = SportsballGeocodeTuple(
|
2282
|
+
city="New Orleans",
|
2283
|
+
state="LA",
|
2284
|
+
postal="",
|
2285
|
+
lat=29.976111,
|
2286
|
+
lng=-90.078333,
|
2287
|
+
housenumber="",
|
2288
|
+
country="USA",
|
2289
|
+
)
|
2290
|
+
PETCO_PARK = SportsballGeocodeTuple(
|
2291
|
+
city="San Diego",
|
2292
|
+
state="CA",
|
2293
|
+
postal="92101",
|
2294
|
+
lat=32.7073,
|
2295
|
+
lng=-117.1566,
|
2296
|
+
housenumber="100",
|
2297
|
+
country="USA",
|
2298
|
+
)
|
2281
2299
|
_CACHED_GEOCODES: dict[str, Any] = {
|
2282
2300
|
"S.C.G. - Australia": SCG,
|
2283
2301
|
"Victoria Park - Australia": SportsballGeocodeTuple(
|
@@ -4026,15 +4044,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
4026
4044
|
),
|
4027
4045
|
"Riccardo Silva Stadium - Miami - FL - 33199": PITBULL_STADIUM,
|
4028
4046
|
"Ryan Field - Evanston - IL - 60208": LANNY_AND_SHARON_MARTIN_STADIUM,
|
4029
|
-
"Petco Park - San Diego - CA - 92101":
|
4030
|
-
city="San Diego",
|
4031
|
-
state="CA",
|
4032
|
-
postal="92101",
|
4033
|
-
lat=32.7073,
|
4034
|
-
lng=-117.1566,
|
4035
|
-
housenumber="100",
|
4036
|
-
country="USA",
|
4037
|
-
),
|
4047
|
+
"Petco Park - San Diego - CA - 92101": PETCO_PARK,
|
4038
4048
|
"Providence Park - Portland - OR - 97205": SportsballGeocodeTuple(
|
4039
4049
|
city="Portland",
|
4040
4050
|
state="OR",
|
@@ -11298,15 +11308,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
11298
11308
|
housenumber="",
|
11299
11309
|
country="USA",
|
11300
11310
|
),
|
11301
|
-
"New Orleans, Louisiana":
|
11302
|
-
city="New Orleans",
|
11303
|
-
state="LA",
|
11304
|
-
postal="",
|
11305
|
-
lat=29.976111,
|
11306
|
-
lng=-90.078333,
|
11307
|
-
housenumber="",
|
11308
|
-
country="USA",
|
11309
|
-
),
|
11311
|
+
"New Orleans, Louisiana": NEW_ORLEANS_CITY,
|
11310
11312
|
"San Jose Civic Auditorium, San Jose, California": SAN_JOSE_CIVIC_AUDITORIUM,
|
11311
11313
|
"Blackham Coliseum, Lafeyette, Louisiana": SportsballGeocodeTuple(
|
11312
11314
|
city="Lafeyette",
|
@@ -12707,6 +12709,35 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
12707
12709
|
housenumber="",
|
12708
12710
|
country="USA",
|
12709
12711
|
),
|
12712
|
+
"New Orleans , Louisiana": NEW_ORLEANS_CITY,
|
12713
|
+
"First Bank & Trust Arena, Brookings, South Dakota": SportsballGeocodeTuple(
|
12714
|
+
city="Brookings",
|
12715
|
+
state="SD",
|
12716
|
+
postal="57007",
|
12717
|
+
lat=44.317984,
|
12718
|
+
lng=-96.779058,
|
12719
|
+
housenumber="1165",
|
12720
|
+
country="USA",
|
12721
|
+
),
|
12722
|
+
"Cambria County War Memorial Arena, Johnstown, Pennsylvania": SportsballGeocodeTuple(
|
12723
|
+
city="Johnstown",
|
12724
|
+
state="PA",
|
12725
|
+
postal="15901",
|
12726
|
+
lat=40.32296,
|
12727
|
+
lng=-78.922654,
|
12728
|
+
housenumber="326",
|
12729
|
+
country="USA",
|
12730
|
+
),
|
12731
|
+
"Petco Park, San Diego, California": PETCO_PARK,
|
12732
|
+
"Esby Gym, Glassboro, New Jersey": SportsballGeocodeTuple(
|
12733
|
+
city="Glassboro",
|
12734
|
+
state="NJ",
|
12735
|
+
postal="08028",
|
12736
|
+
lat=39.7106001,
|
12737
|
+
lng=-75.1186627,
|
12738
|
+
housenumber="300",
|
12739
|
+
country="USA",
|
12740
|
+
),
|
12710
12741
|
}
|
12711
12742
|
|
12712
12743
|
|
@@ -305,7 +305,7 @@ def _create_sportsreference_game_model(
|
|
305
305
|
|
306
306
|
# If the page_title is bad, try fetching from a non wayback source
|
307
307
|
if page_title is not None:
|
308
|
-
if page_title.get_text().strip()
|
308
|
+
if "File Not Found" in page_title.get_text().strip():
|
309
309
|
session.cache.delete(urls=[url])
|
310
310
|
response = session.get(url, headers={X_NO_WAYBACK: "1"})
|
311
311
|
response.raise_for_status()
|
@@ -328,37 +328,41 @@ def _create_sportsreference_game_model(
|
|
328
328
|
handle = io.StringIO()
|
329
329
|
handle.write(response.text)
|
330
330
|
handle.seek(0)
|
331
|
-
dfs = pd.read_html(handle)
|
332
331
|
fg = {}
|
333
332
|
fga = {}
|
334
333
|
offensive_rebounds = {}
|
335
334
|
assists = {}
|
336
335
|
turnovers = {}
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
if "
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
336
|
+
try:
|
337
|
+
dfs = pd.read_html(handle)
|
338
|
+
for df in dfs:
|
339
|
+
if df.index.nlevels > 1:
|
340
|
+
df.columns = df.columns.get_level_values(1)
|
341
|
+
if "Starters" in df.columns.values:
|
342
|
+
players = df["Starters"].tolist()
|
343
|
+
if "FG" in df.columns.values:
|
344
|
+
fgs = df["FG"].tolist()
|
345
|
+
for idx, player in enumerate(players):
|
346
|
+
fg[player] = fgs[idx]
|
347
|
+
if "FGA" in df.columns.values:
|
348
|
+
fgas = df["FGA"].tolist()
|
349
|
+
for idx, player in enumerate(players):
|
350
|
+
fga[player] = fgas[idx]
|
351
|
+
if "OREB" in df.columns.values:
|
352
|
+
orebs = df["OREB"].tolist()
|
353
|
+
for idx, player in enumerate(players):
|
354
|
+
offensive_rebounds[player] = orebs[idx]
|
355
|
+
if "AST" in df.columns.values:
|
356
|
+
asts = df["AST"].tolist()
|
357
|
+
for idx, player in enumerate(players):
|
358
|
+
assists[player] = asts[idx]
|
359
|
+
if "TOV" in df.columns.values:
|
360
|
+
tovs = df["TOV"].tolist()
|
361
|
+
for idx, player in enumerate(players):
|
362
|
+
turnovers[player] = tovs[idx]
|
363
|
+
except ValueError as exc:
|
364
|
+
logging.error(response.text)
|
365
|
+
raise exc
|
362
366
|
|
363
367
|
scorebox_meta_div = soup.find("div", class_="scorebox_meta")
|
364
368
|
if not isinstance(scorebox_meta_div, Tag):
|
@@ -90,6 +90,20 @@ def _create_sportsreference_team_model(
|
|
90
90
|
assists: dict[str, int],
|
91
91
|
turnovers: dict[str, int],
|
92
92
|
) -> TeamModel:
|
93
|
+
if url == "https://www.sports-reference.com/cbb/schools/alaska-anchorage/2016.html":
|
94
|
+
name = "Alaska-Anchorage"
|
95
|
+
return TeamModel(
|
96
|
+
identifier=name,
|
97
|
+
name=name,
|
98
|
+
location="Alaska",
|
99
|
+
players=[],
|
100
|
+
odds=[],
|
101
|
+
points=points,
|
102
|
+
ladder_rank=None,
|
103
|
+
news=create_google_news_models(name, session, dt, league),
|
104
|
+
social=create_x_social_model(name, session, dt),
|
105
|
+
)
|
106
|
+
|
93
107
|
headers = {}
|
94
108
|
if url in _NON_WAYBACK_URLS:
|
95
109
|
headers = {X_NO_WAYBACK: "1"}
|
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.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/nfl/combined/nfl_combined_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.58 → sportsball-0.3.60}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_bookie_model.py
RENAMED
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/sportsball/data/oddsportal/oddsportal_venue_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
|
{sportsball-0.3.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/afl_afltables_game_model_test.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/tests/data/afl/afltables/afl_afltables_league_model_test.py
RENAMED
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/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.58 → sportsball-0.3.60}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.58 → sportsball-0.3.60}/tests/data/oddsportal/oddsportal_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
|
File without changes
|
File without changes
|
File without changes
|