sportsball 0.4.7__tar.gz → 0.4.8__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.7/sportsball.egg-info → sportsball-0.4.8}/PKG-INFO +1 -1
- {sportsball-0.4.7 → sportsball-0.4.8}/setup.py +1 -1
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/__init__.py +1 -1
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_game_model.py +1 -1
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +31 -6
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +13 -3
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +8 -5
- {sportsball-0.4.7 → sportsball-0.4.8/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.4.7 → sportsball-0.4.8}/LICENSE +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/MANIFEST.in +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/README.md +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/requirements.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/setup.cfg +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/__main__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/args.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/cache.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/address_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/position.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/bet.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/null_check.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/dividend_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/field_type.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/google_address_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/position.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/league.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/position.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/news_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/position.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/owner_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/season_type.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sex.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/social_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/species.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/team_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/logger.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/loglevel.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/playwright.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/proxy_session.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/session.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/sportsball.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_team_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/social_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/team_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/x/__init__.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/tests/proxy_session_test.py +0 -0
- {sportsball-0.4.7 → sportsball-0.4.8}/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.8',
|
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',
|
@@ -198,7 +198,7 @@ def create_espn_game_model(
|
|
198
198
|
dt = parse(event["date"])
|
199
199
|
if (
|
200
200
|
not pytest_is_running.is_running()
|
201
|
-
and dt < datetime.datetime.now().date() - datetime.timedelta(days=7)
|
201
|
+
and dt.date() < datetime.datetime.now().date() - datetime.timedelta(days=7)
|
202
202
|
):
|
203
203
|
return _cached_create_espn_game_model(
|
204
204
|
event,
|
@@ -43,6 +43,10 @@ def _create_hkjc_hkjc_game_model(
|
|
43
43
|
return None
|
44
44
|
if "this race is declared void" in div_text.lower():
|
45
45
|
return None
|
46
|
+
if "information will be released shortly" in div_text.lower():
|
47
|
+
return None
|
48
|
+
if "unofficial dividends" in div_text.lower():
|
49
|
+
return None
|
46
50
|
|
47
51
|
o = urlparse(url)
|
48
52
|
query = urllib.parse.parse_qs(o.query)
|
@@ -61,7 +65,13 @@ def _create_hkjc_hkjc_game_model(
|
|
61
65
|
dividends = []
|
62
66
|
for count, df in enumerate(dfs):
|
63
67
|
if count == 1:
|
64
|
-
race_track =
|
68
|
+
race_track = ""
|
69
|
+
try:
|
70
|
+
race_track = df.iat[2, 2].split("-")[0].strip()
|
71
|
+
except IndexError:
|
72
|
+
logging.error(url)
|
73
|
+
raise
|
74
|
+
|
65
75
|
distance = 0.0
|
66
76
|
try:
|
67
77
|
distance = float(df.iat[1, 0].split("-")[1].strip().replace("M", ""))
|
@@ -74,7 +84,12 @@ def _create_hkjc_hkjc_game_model(
|
|
74
84
|
for _, row in df.iterrows():
|
75
85
|
horse_name = row["Horse"].split("(")[0].strip()
|
76
86
|
jockey_name = row["Jockey"].split("(")[0].strip()
|
77
|
-
|
87
|
+
|
88
|
+
trainer_name = None
|
89
|
+
try:
|
90
|
+
trainer_name = row["Trainer"].split("(")[0].strip()
|
91
|
+
except KeyError:
|
92
|
+
logging.warning("Failed to find trainer name for %s", url)
|
78
93
|
|
79
94
|
place_str = str(row["Pla."]).strip()
|
80
95
|
place = None
|
@@ -83,10 +98,19 @@ def _create_hkjc_hkjc_game_model(
|
|
83
98
|
|
84
99
|
jersey = str(row["Horse No."])
|
85
100
|
|
86
|
-
handicap_weight =
|
101
|
+
handicap_weight = None
|
102
|
+
try:
|
103
|
+
handicap_weight = float(row["Act. Wt."]) * 0.453592
|
104
|
+
except KeyError:
|
105
|
+
logging.warning("Failed to find handicap weight for %s", url)
|
106
|
+
|
87
107
|
horse_weight = None
|
88
|
-
|
89
|
-
|
108
|
+
try:
|
109
|
+
horse_weight_str = row["Declar. Horse Wt."]
|
110
|
+
if horse_weight_str != "---":
|
111
|
+
horse_weight = float(horse_weight_str) * 0.453592
|
112
|
+
except KeyError:
|
113
|
+
logging.warning("Failed to find horse weight for %s", url)
|
90
114
|
|
91
115
|
starting_position = None
|
92
116
|
starting_position_str = str(row["Dr."]).strip()
|
@@ -143,7 +167,7 @@ def _create_hkjc_hkjc_game_model(
|
|
143
167
|
o = urlparse(a_url)
|
144
168
|
if o.path.endswith("/Jockey/JockeyProfile.aspx"):
|
145
169
|
jockey_url = a_url
|
146
|
-
elif a_text == trainer_name:
|
170
|
+
elif trainer_name is not None and a_text == trainer_name:
|
147
171
|
a_url = urllib.parse.urljoin(url, a.get("href"))
|
148
172
|
o = urlparse(a_url)
|
149
173
|
if o.path.endswith("/Trainers/TrainerProfile.aspx"):
|
@@ -213,6 +237,7 @@ def _create_hkjc_hkjc_game_model(
|
|
213
237
|
dividends.append(dividend_model)
|
214
238
|
|
215
239
|
if race_track is None:
|
240
|
+
logging.error(url)
|
216
241
|
raise ValueError("race_track is null")
|
217
242
|
|
218
243
|
return GameModel(
|
@@ -28,7 +28,7 @@ def _create_hkjc_hkjc_player_model(
|
|
28
28
|
handicap_weight: float | None,
|
29
29
|
starting_position: Position | None,
|
30
30
|
weight: float | None,
|
31
|
-
) -> PlayerModel:
|
31
|
+
) -> PlayerModel | None:
|
32
32
|
headers = {X_NO_WAYBACK: "1"}
|
33
33
|
response = session.get(url, headers=headers)
|
34
34
|
response.raise_for_status()
|
@@ -51,6 +51,12 @@ def _create_hkjc_hkjc_player_model(
|
|
51
51
|
raise
|
52
52
|
|
53
53
|
soup = BeautifulSoup(response.text, "lxml")
|
54
|
+
for noscript in soup.find_all("noscript"):
|
55
|
+
no_script_text = noscript.get_text().strip().lower()
|
56
|
+
if "javascript must be enabled in order to view this page." in no_script_text:
|
57
|
+
logging.error("Javascript error on %s", url)
|
58
|
+
session.cache.delete(urls=[url, response.url])
|
59
|
+
return None
|
54
60
|
|
55
61
|
name = None
|
56
62
|
species = Species.HUMAN
|
@@ -114,6 +120,10 @@ def _create_hkjc_hkjc_player_model(
|
|
114
120
|
name = query["HorseSire"][0]
|
115
121
|
|
116
122
|
if name is None:
|
123
|
+
logging.error(response.text)
|
124
|
+
logging.error(dfs)
|
125
|
+
logging.error(o.path)
|
126
|
+
logging.error(url)
|
117
127
|
raise ValueError("name is null")
|
118
128
|
|
119
129
|
return PlayerModel(
|
@@ -173,7 +183,7 @@ def _cached_create_hkjc_hkjc_player_model(
|
|
173
183
|
handicap_weight: float | None,
|
174
184
|
starting_position: Position | None,
|
175
185
|
weight: float | None,
|
176
|
-
) -> PlayerModel:
|
186
|
+
) -> PlayerModel | None:
|
177
187
|
return _create_hkjc_hkjc_player_model(
|
178
188
|
session=session,
|
179
189
|
url=url,
|
@@ -191,7 +201,7 @@ def create_hkjc_hkjc_player_model(
|
|
191
201
|
handicap_weight: float | None,
|
192
202
|
starting_position: Position | None,
|
193
203
|
weight: float | None,
|
194
|
-
) -> PlayerModel:
|
204
|
+
) -> PlayerModel | None:
|
195
205
|
"""Create a player model based off HKJC."""
|
196
206
|
if not pytest_is_running.is_running():
|
197
207
|
return _cached_create_hkjc_hkjc_player_model(
|
@@ -21,13 +21,14 @@ def _create_hkjc_hkjc_team_model(
|
|
21
21
|
trainer_url: str | None,
|
22
22
|
points: float,
|
23
23
|
jersey: str,
|
24
|
-
handicap_weight: float,
|
24
|
+
handicap_weight: float | None,
|
25
25
|
horse_weight: float | None,
|
26
26
|
starting_position: Position | None,
|
27
27
|
lbw: float | None,
|
28
28
|
end_dt: datetime.datetime | None,
|
29
29
|
odds: list[OddsModel],
|
30
30
|
) -> TeamModel:
|
31
|
+
players = []
|
31
32
|
horse_player = create_hkjc_hkjc_player_model(
|
32
33
|
session=session,
|
33
34
|
url=horse_url,
|
@@ -36,7 +37,8 @@ def _create_hkjc_hkjc_team_model(
|
|
36
37
|
starting_position=starting_position,
|
37
38
|
weight=horse_weight,
|
38
39
|
)
|
39
|
-
|
40
|
+
if horse_player is not None:
|
41
|
+
players.append(horse_player)
|
40
42
|
if jockey_url is not None:
|
41
43
|
jockey_player = create_hkjc_hkjc_player_model(
|
42
44
|
session=session,
|
@@ -46,7 +48,8 @@ def _create_hkjc_hkjc_team_model(
|
|
46
48
|
starting_position=starting_position,
|
47
49
|
weight=None,
|
48
50
|
)
|
49
|
-
|
51
|
+
if jockey_player is not None:
|
52
|
+
players.append(jockey_player)
|
50
53
|
coaches = (
|
51
54
|
[create_hkjc_hkjc_coach_model(session=session, url=trainer_url)]
|
52
55
|
if trainer_url is not None
|
@@ -78,7 +81,7 @@ def _cached_create_hkjc_hkjc_team_model(
|
|
78
81
|
trainer_url: str | None,
|
79
82
|
points: float,
|
80
83
|
jersey: str,
|
81
|
-
handicap_weight: float,
|
84
|
+
handicap_weight: float | None,
|
82
85
|
horse_weight: float | None,
|
83
86
|
starting_position: Position | None,
|
84
87
|
lbw: float | None,
|
@@ -108,7 +111,7 @@ def create_hkjc_hkjc_team_model(
|
|
108
111
|
trainer_url: str | None,
|
109
112
|
points: float,
|
110
113
|
jersey: str,
|
111
|
-
handicap_weight: float,
|
114
|
+
handicap_weight: float | None,
|
112
115
|
horse_weight: float | None,
|
113
116
|
starting_position: Position | None,
|
114
117
|
lbw: float | None,
|
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.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_coach_model.py
RENAMED
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/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
|
{sportsball-0.4.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/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.7 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.7 → sportsball-0.4.8}/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
|