sportsball 0.4.3__tar.gz → 0.4.5__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.4.3/sportsball.egg-info → sportsball-0.4.5}/PKG-INFO +1 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/setup.py +1 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/__init__.py +1 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +4 -7
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_player_model.py +5 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_team_model.py +6 -5
- {sportsball-0.4.3 → sportsball-0.4.5/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +14 -1
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_player_model_test.py +37 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/LICENSE +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/MANIFEST.in +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/README.md +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/requirements.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/setup.cfg +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/__main__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/args.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/cache.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/address_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/position.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/bet.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/coach_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_coach_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/combined/null_check.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/dividend_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_coach_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/field_type.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/google/google_address_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/hkjc/position.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/league.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/position.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/news_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/position.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/owner_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/season_type.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sex.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/social_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/species.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/team_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/logger.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/loglevel.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/playwright.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/proxy_session.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/session.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/sportsball.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/combined/combined_team_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/google/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/player_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/social_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/team_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/x/__init__.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/tests/proxy_session_test.py +0 -0
- {sportsball-0.4.3 → sportsball-0.4.5}/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.4.
|
29
|
+
version='0.4.5',
|
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.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_coach_model.py
RENAMED
@@ -3,7 +3,6 @@
|
|
3
3
|
# pylint: disable=too-many-locals
|
4
4
|
import datetime
|
5
5
|
import io
|
6
|
-
import logging
|
7
6
|
import os
|
8
7
|
import urllib.parse
|
9
8
|
from urllib.parse import urlparse
|
@@ -23,7 +22,7 @@ _COACH_URL_CACHE: dict[str, str] = {}
|
|
23
22
|
|
24
23
|
def _create_afl_afltables_coach_model(
|
25
24
|
url: str, session: requests_cache.CachedSession, year: int, dt: datetime.datetime
|
26
|
-
) -> CoachModel:
|
25
|
+
) -> CoachModel | None:
|
27
26
|
html = _COACH_URL_CACHE.get(url)
|
28
27
|
if html is None:
|
29
28
|
with session.cache_disabled():
|
@@ -51,9 +50,7 @@ def _create_afl_afltables_coach_model(
|
|
51
50
|
name = names[count].strip()
|
52
51
|
break
|
53
52
|
if name is None:
|
54
|
-
|
55
|
-
logging.error(url)
|
56
|
-
raise ValueError("name is null")
|
53
|
+
return None
|
57
54
|
|
58
55
|
coach_url = None
|
59
56
|
soup = BeautifulSoup(html, "lxml")
|
@@ -84,13 +81,13 @@ def _create_afl_afltables_coach_model(
|
|
84
81
|
@MEMORY.cache(ignore=["session"])
|
85
82
|
def _cached_create_afl_afltables_coach_model(
|
86
83
|
url: str, session: requests_cache.CachedSession, year: int, dt: datetime.datetime
|
87
|
-
) -> CoachModel:
|
84
|
+
) -> CoachModel | None:
|
88
85
|
return _create_afl_afltables_coach_model(url=url, session=session, year=year, dt=dt)
|
89
86
|
|
90
87
|
|
91
88
|
def create_afl_afltables_coach_model(
|
92
89
|
url: str, session: requests_cache.CachedSession, year: int, dt: datetime.datetime
|
93
|
-
) -> CoachModel:
|
90
|
+
) -> CoachModel | None:
|
94
91
|
"""Create a coach model from AFL tables."""
|
95
92
|
if not pytest_is_running.is_running():
|
96
93
|
return _cached_create_afl_afltables_coach_model(
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
@@ -66,7 +66,11 @@ def _create_afl_afltables_player_model(
|
|
66
66
|
except IndexError:
|
67
67
|
logging.warning("Couldn't find birth date from %s", response.url)
|
68
68
|
|
69
|
-
weight =
|
69
|
+
weight = None
|
70
|
+
try:
|
71
|
+
weight = float(player_page_text.split("Weight:")[1].strip().split()[0].strip())
|
72
|
+
except IndexError:
|
73
|
+
logging.warning("Couldn't find weight from %s", response.url)
|
70
74
|
|
71
75
|
return PlayerModel(
|
72
76
|
identifier=identifier,
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
@@ -106,6 +106,11 @@ def _create_afl_afltables_team_model(
|
|
106
106
|
break
|
107
107
|
if coaches_url is None:
|
108
108
|
raise ValueError("coaches_url is null")
|
109
|
+
|
110
|
+
coach_model = create_afl_afltables_coach_model(
|
111
|
+
url=coaches_url, session=session, year=dt.year, dt=dt
|
112
|
+
)
|
113
|
+
|
109
114
|
return TeamModel(
|
110
115
|
identifier=identifier,
|
111
116
|
name=name,
|
@@ -149,11 +154,7 @@ def _create_afl_afltables_team_model(
|
|
149
154
|
news=create_google_news_models(name, session, dt, league),
|
150
155
|
social=create_x_social_model(identifier, session, dt),
|
151
156
|
field_goals=None,
|
152
|
-
coaches=[
|
153
|
-
create_afl_afltables_coach_model(
|
154
|
-
url=coaches_url, session=session, year=dt.year, dt=dt
|
155
|
-
)
|
156
|
-
],
|
157
|
+
coaches=[coach_model] if coach_model is not None else [],
|
157
158
|
lbw=None,
|
158
159
|
end_dt=None,
|
159
160
|
)
|
{sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_coach_model_test.py
RENAMED
@@ -14,7 +14,7 @@ class TestAFLTablesCoachModel(unittest.TestCase):
|
|
14
14
|
self._session = requests_cache.CachedSession(backend="memory")
|
15
15
|
self.dir = os.path.dirname(__file__)
|
16
16
|
|
17
|
-
def
|
17
|
+
def test_name(self):
|
18
18
|
with requests_mock.Mocker() as m:
|
19
19
|
url = "https://afltables.com/afl/stats/coaches/goldcoast.html"
|
20
20
|
with open(os.path.join(self.dir, "coaches_goldcoast.html"), "rb") as f:
|
@@ -28,3 +28,16 @@ class TestAFLTablesCoachModel(unittest.TestCase):
|
|
28
28
|
dt=datetime.datetime(2012, 10, 10),
|
29
29
|
)
|
30
30
|
self.assertEqual(coach_model.name, "McKenna, Guy")
|
31
|
+
|
32
|
+
def test_null_coach(self):
|
33
|
+
with requests_mock.Mocker() as m:
|
34
|
+
url = "https://afltables.com/afl/stats/coaches/fitzroy.html"
|
35
|
+
with open(os.path.join(self.dir, "coaches_fitzroy.html"), "rb") as f:
|
36
|
+
m.get(url, content=f.read())
|
37
|
+
coach_model = create_afl_afltables_coach_model(
|
38
|
+
url=url,
|
39
|
+
session=self._session,
|
40
|
+
year=1897,
|
41
|
+
dt=datetime.datetime(2012, 10, 10),
|
42
|
+
)
|
43
|
+
self.assertIsNone(coach_model)
|
{sportsball-0.4.3 → sportsball-0.4.5}/tests/data/afl/afltables/afl_afltables_player_model_test.py
RENAMED
@@ -85,3 +85,40 @@ class TestAFLTablesPlayerModel(unittest.TestCase):
|
|
85
85
|
dt=datetime.datetime(2022, 10, 10),
|
86
86
|
)
|
87
87
|
self.assertIsNone(player_model.birth_date)
|
88
|
+
|
89
|
+
def test_null_weight(self):
|
90
|
+
with requests_mock.Mocker() as m:
|
91
|
+
url = "https://afltables.com/afl/stats/players/I/Ivan_Astruc.html"
|
92
|
+
with open(os.path.join(self.dir, "Ivan_Astruc.html"), "rb") as f:
|
93
|
+
m.get(url, content=f.read())
|
94
|
+
player_model = create_afl_afltables_player_model(
|
95
|
+
player_url=url,
|
96
|
+
jersey="35",
|
97
|
+
kicks=10,
|
98
|
+
session=self._session,
|
99
|
+
name="Dennis Armfield",
|
100
|
+
marks=0,
|
101
|
+
handballs=0,
|
102
|
+
disposals=0,
|
103
|
+
goals=0,
|
104
|
+
behinds=0,
|
105
|
+
hit_outs=0,
|
106
|
+
tackles=0,
|
107
|
+
rebounds=0,
|
108
|
+
insides=0,
|
109
|
+
clearances=0,
|
110
|
+
clangers=0,
|
111
|
+
free_kicks_for=0,
|
112
|
+
free_kicks_against=0,
|
113
|
+
brownlow_votes=0,
|
114
|
+
contested_possessions=0,
|
115
|
+
uncontested_possessions=0,
|
116
|
+
contested_marks=0,
|
117
|
+
marks_inside=0,
|
118
|
+
one_percenters=0,
|
119
|
+
bounces=0,
|
120
|
+
goal_assists=0,
|
121
|
+
percentage_played=0.0,
|
122
|
+
dt=datetime.datetime(2022, 10, 10),
|
123
|
+
)
|
124
|
+
self.assertIsNone(player_model.weight)
|
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.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/afltables/afl_afltables_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/combined/afl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/afl/oddsportal/afl_oddsportal_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
|
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.4.3 → sportsball-0.4.5}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/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
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaab/combined/ncaab_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
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/ncaaf/combined/ncaaf_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.4.3 → sportsball-0.4.5}/sportsball/data/nfl/combined/nfl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_coach_model.py
RENAMED
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_game_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.3 → sportsball-0.4.5}/sportsball/data/sportsreference/sportsreference_team_model.py
RENAMED
File without changes
|