sportsball 0.4.6__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.6/sportsball.egg-info → sportsball-0.4.8}/PKG-INFO +1 -1
- {sportsball-0.4.6 → sportsball-0.4.8}/setup.py +1 -1
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/__init__.py +1 -1
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +8 -2
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_game_model.py +1 -1
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +40 -11
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +13 -3
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +28 -19
- {sportsball-0.4.6 → sportsball-0.4.8/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +15 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/LICENSE +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/MANIFEST.in +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/README.md +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/requirements.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/setup.cfg +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/__main__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/args.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/cache.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/address_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/position.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/bet.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/coach_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_coach_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/combined/null_check.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/dividend_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_coach_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/field_type.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/google/google_address_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/hkjc/position.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/league.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/position.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/news_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/position.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/owner_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/season_type.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sex.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/social_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/species.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/team_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/logger.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/loglevel.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/playwright.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/proxy_session.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/session.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/sportsball.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/combined/combined_team_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/google/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/social_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/team_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/x/__init__.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.4.6 → sportsball-0.4.8}/tests/proxy_session_test.py +0 -0
- {sportsball-0.4.6 → 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',
|
{sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_coach_model.py
RENAMED
@@ -3,6 +3,7 @@
|
|
3
3
|
# pylint: disable=too-many-locals
|
4
4
|
import datetime
|
5
5
|
import io
|
6
|
+
import logging
|
6
7
|
import os
|
7
8
|
import urllib.parse
|
8
9
|
from urllib.parse import urlparse
|
@@ -71,13 +72,18 @@ def _create_afl_afltables_coach_model(
|
|
71
72
|
response = session.get(coach_url)
|
72
73
|
response.raise_for_status()
|
73
74
|
soup = BeautifulSoup(response.text, "lxml")
|
74
|
-
|
75
|
+
|
76
|
+
birth_date = None
|
77
|
+
try:
|
78
|
+
birth_date = parse(soup.get_text().split("Born:")[1].strip().split()[0])
|
79
|
+
except IndexError:
|
80
|
+
logging.warning("Failed to find birth date from %s", response.url)
|
75
81
|
|
76
82
|
return CoachModel(
|
77
83
|
identifier=identifier,
|
78
84
|
name=name,
|
79
85
|
birth_date=birth_date,
|
80
|
-
age=relativedelta(birth_date, dt).years,
|
86
|
+
age=relativedelta(birth_date, dt).years if birth_date is not None else None,
|
81
87
|
)
|
82
88
|
|
83
89
|
|
@@ -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,
|
@@ -41,6 +41,12 @@ def _create_hkjc_hkjc_game_model(
|
|
41
41
|
div_text = div.get_text().strip()
|
42
42
|
if "this race is declared abandoned" in div_text.lower():
|
43
43
|
return None
|
44
|
+
if "this race is declared void" in div_text.lower():
|
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
|
44
50
|
|
45
51
|
o = urlparse(url)
|
46
52
|
query = urllib.parse.parse_qs(o.query)
|
@@ -59,7 +65,13 @@ def _create_hkjc_hkjc_game_model(
|
|
59
65
|
dividends = []
|
60
66
|
for count, df in enumerate(dfs):
|
61
67
|
if count == 1:
|
62
|
-
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
|
+
|
63
75
|
distance = 0.0
|
64
76
|
try:
|
65
77
|
distance = float(df.iat[1, 0].split("-")[1].strip().replace("M", ""))
|
@@ -72,7 +84,12 @@ def _create_hkjc_hkjc_game_model(
|
|
72
84
|
for _, row in df.iterrows():
|
73
85
|
horse_name = row["Horse"].split("(")[0].strip()
|
74
86
|
jockey_name = row["Jockey"].split("(")[0].strip()
|
75
|
-
|
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)
|
76
93
|
|
77
94
|
place_str = str(row["Pla."]).strip()
|
78
95
|
place = None
|
@@ -81,10 +98,19 @@ def _create_hkjc_hkjc_game_model(
|
|
81
98
|
|
82
99
|
jersey = str(row["Horse No."])
|
83
100
|
|
84
|
-
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
|
+
|
85
107
|
horse_weight = None
|
86
|
-
|
87
|
-
|
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)
|
88
114
|
|
89
115
|
starting_position = None
|
90
116
|
starting_position_str = str(row["Dr."]).strip()
|
@@ -141,7 +167,7 @@ def _create_hkjc_hkjc_game_model(
|
|
141
167
|
o = urlparse(a_url)
|
142
168
|
if o.path.endswith("/Jockey/JockeyProfile.aspx"):
|
143
169
|
jockey_url = a_url
|
144
|
-
elif a_text == trainer_name:
|
170
|
+
elif trainer_name is not None and a_text == trainer_name:
|
145
171
|
a_url = urllib.parse.urljoin(url, a.get("href"))
|
146
172
|
o = urlparse(a_url)
|
147
173
|
if o.path.endswith("/Trainers/TrainerProfile.aspx"):
|
@@ -149,10 +175,6 @@ def _create_hkjc_hkjc_game_model(
|
|
149
175
|
|
150
176
|
if place is None:
|
151
177
|
continue
|
152
|
-
if trainer_url is None:
|
153
|
-
raise ValueError("trainer_url is null")
|
154
|
-
if jockey_url is None:
|
155
|
-
raise ValueError("jockey_url is null")
|
156
178
|
if horse_url is None:
|
157
179
|
raise ValueError("horse_url is null")
|
158
180
|
|
@@ -179,6 +201,12 @@ def _create_hkjc_hkjc_game_model(
|
|
179
201
|
dividend_str = str(row_df.iat[2, 0]).strip().lower()
|
180
202
|
if dividend_str == "details":
|
181
203
|
continue
|
204
|
+
if dividend_str == "refund":
|
205
|
+
continue
|
206
|
+
if dividend_str == "not win":
|
207
|
+
continue
|
208
|
+
if dividend_str == "detail":
|
209
|
+
continue
|
182
210
|
dividend_str = dividend_str.split("/", maxsplit=1)[0].replace(",", "")
|
183
211
|
dividend = float(dividend_str)
|
184
212
|
|
@@ -198,7 +226,7 @@ def _create_hkjc_hkjc_game_model(
|
|
198
226
|
next_td = False
|
199
227
|
|
200
228
|
if combination is None:
|
201
|
-
|
229
|
+
continue
|
202
230
|
|
203
231
|
dividend_model = create_hkjc_hkjc_dividend_model(
|
204
232
|
pool=pool,
|
@@ -209,6 +237,7 @@ def _create_hkjc_hkjc_game_model(
|
|
209
237
|
dividends.append(dividend_model)
|
210
238
|
|
211
239
|
if race_track is None:
|
240
|
+
logging.error(url)
|
212
241
|
raise ValueError("race_track is null")
|
213
242
|
|
214
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(
|
@@ -17,17 +17,18 @@ from .hkjc_hkjc_player_model import create_hkjc_hkjc_player_model
|
|
17
17
|
def _create_hkjc_hkjc_team_model(
|
18
18
|
session: requests_cache.CachedSession,
|
19
19
|
horse_url: str,
|
20
|
-
jockey_url: str,
|
21
|
-
trainer_url: str,
|
20
|
+
jockey_url: str | None,
|
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,16 +37,24 @@ def _create_hkjc_hkjc_team_model(
|
|
36
37
|
starting_position=starting_position,
|
37
38
|
weight=horse_weight,
|
38
39
|
)
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
40
|
+
if horse_player is not None:
|
41
|
+
players.append(horse_player)
|
42
|
+
if jockey_url is not None:
|
43
|
+
jockey_player = create_hkjc_hkjc_player_model(
|
44
|
+
session=session,
|
45
|
+
url=jockey_url,
|
46
|
+
jersey=jersey,
|
47
|
+
handicap_weight=None,
|
48
|
+
starting_position=starting_position,
|
49
|
+
weight=None,
|
50
|
+
)
|
51
|
+
if jockey_player is not None:
|
52
|
+
players.append(jockey_player)
|
53
|
+
coaches = (
|
54
|
+
[create_hkjc_hkjc_coach_model(session=session, url=trainer_url)]
|
55
|
+
if trainer_url is not None
|
56
|
+
else []
|
46
57
|
)
|
47
|
-
players = [horse_player, jockey_player]
|
48
|
-
coach = create_hkjc_hkjc_coach_model(session=session, url=trainer_url)
|
49
58
|
name = " - ".join([x.name for x in players])
|
50
59
|
return TeamModel(
|
51
60
|
identifier=name,
|
@@ -58,7 +67,7 @@ def _create_hkjc_hkjc_team_model(
|
|
58
67
|
news=[],
|
59
68
|
social=[],
|
60
69
|
field_goals=None,
|
61
|
-
coaches=
|
70
|
+
coaches=coaches,
|
62
71
|
lbw=lbw,
|
63
72
|
end_dt=end_dt,
|
64
73
|
)
|
@@ -68,11 +77,11 @@ def _create_hkjc_hkjc_team_model(
|
|
68
77
|
def _cached_create_hkjc_hkjc_team_model(
|
69
78
|
session: requests_cache.CachedSession,
|
70
79
|
horse_url: str,
|
71
|
-
jockey_url: str,
|
72
|
-
trainer_url: str,
|
80
|
+
jockey_url: str | None,
|
81
|
+
trainer_url: str | None,
|
73
82
|
points: float,
|
74
83
|
jersey: str,
|
75
|
-
handicap_weight: float,
|
84
|
+
handicap_weight: float | None,
|
76
85
|
horse_weight: float | None,
|
77
86
|
starting_position: Position | None,
|
78
87
|
lbw: float | None,
|
@@ -98,11 +107,11 @@ def _cached_create_hkjc_hkjc_team_model(
|
|
98
107
|
def create_hkjc_hkjc_team_model(
|
99
108
|
session: requests_cache.CachedSession,
|
100
109
|
horse_url: str,
|
101
|
-
jockey_url: str,
|
102
|
-
trainer_url: str,
|
110
|
+
jockey_url: str | None,
|
111
|
+
trainer_url: str | None,
|
103
112
|
points: float,
|
104
113
|
jersey: str,
|
105
|
-
handicap_weight: float,
|
114
|
+
handicap_weight: float | None,
|
106
115
|
horse_weight: float | None,
|
107
116
|
starting_position: Position | None,
|
108
117
|
lbw: float | None,
|
{sportsball-0.4.6 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_coach_model_test.py
RENAMED
@@ -54,3 +54,18 @@ class TestAFLTablesCoachModel(unittest.TestCase):
|
|
54
54
|
dt=datetime.datetime(2012, 10, 10),
|
55
55
|
)
|
56
56
|
self.assertIsNone(coach_model)
|
57
|
+
|
58
|
+
def test_no_birth_date(self):
|
59
|
+
with requests_mock.Mocker() as m:
|
60
|
+
url = "https://afltables.com/afl/stats/coaches/geelong.html"
|
61
|
+
with open(os.path.join(self.dir, "coaches_geelong.html"), "rb") as f:
|
62
|
+
m.get(url, content=f.read())
|
63
|
+
with open(os.path.join(self.dir, "Dave_Hickinbotham.html"), "rb") as f:
|
64
|
+
m.get("https://afltables.com/afl/stats/coaches/Dave_Hickinbotham.html", content=f.read())
|
65
|
+
coach_model = create_afl_afltables_coach_model(
|
66
|
+
url=url,
|
67
|
+
session=self._session,
|
68
|
+
year=1910,
|
69
|
+
dt=datetime.datetime(2012, 10, 10),
|
70
|
+
)
|
71
|
+
self.assertIsNone(coach_model.birth_date)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
File without changes
|
{sportsball-0.4.6 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.4.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → sportsball-0.4.8}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py
RENAMED
File without changes
|