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.
Files changed (261) hide show
  1. {sportsball-0.4.7/sportsball.egg-info → sportsball-0.4.8}/PKG-INFO +1 -1
  2. {sportsball-0.4.7 → sportsball-0.4.8}/setup.py +1 -1
  3. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/__init__.py +1 -1
  4. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_game_model.py +1 -1
  5. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +31 -6
  6. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +13 -3
  7. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +8 -5
  8. {sportsball-0.4.7 → sportsball-0.4.8/sportsball.egg-info}/PKG-INFO +1 -1
  9. {sportsball-0.4.7 → sportsball-0.4.8}/LICENSE +0 -0
  10. {sportsball-0.4.7 → sportsball-0.4.8}/MANIFEST.in +0 -0
  11. {sportsball-0.4.7 → sportsball-0.4.8}/README.md +0 -0
  12. {sportsball-0.4.7 → sportsball-0.4.8}/requirements.txt +0 -0
  13. {sportsball-0.4.7 → sportsball-0.4.8}/setup.cfg +0 -0
  14. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/__main__.py +0 -0
  15. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/args.py +0 -0
  16. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/cache.py +0 -0
  17. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/__init__.py +0 -0
  18. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/address_model.py +0 -0
  19. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/__init__.py +0 -0
  20. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/__init__.py +0 -0
  21. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
  22. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
  23. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
  24. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
  25. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
  26. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
  27. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
  28. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/__init__.py +0 -0
  29. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +0 -0
  30. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
  31. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
  32. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
  33. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
  34. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
  35. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
  36. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
  37. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/combined/__init__.py +0 -0
  38. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
  39. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/espn/__init__.py +0 -0
  40. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
  41. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/__init__.py +0 -0
  42. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
  43. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/afl/position.py +0 -0
  44. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/__init__.py +0 -0
  45. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
  46. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
  47. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
  48. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
  49. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
  50. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
  51. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/bet.py +0 -0
  52. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/bookie_model.py +0 -0
  53. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/coach_model.py +0 -0
  54. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/__init__.py +0 -0
  55. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_address_model.py +0 -0
  56. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_coach_model.py +0 -0
  57. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_game_model.py +0 -0
  58. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_league_model.py +0 -0
  59. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_player_model.py +0 -0
  60. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_team_model.py +0 -0
  61. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_venue_model.py +0 -0
  62. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/combined_weather_model.py +0 -0
  63. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/combined/null_check.py +0 -0
  64. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/dividend_model.py +0 -0
  65. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/__init__.py +0 -0
  66. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_bookie_model.py +0 -0
  67. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_coach_model.py +0 -0
  68. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_league_model.py +0 -0
  69. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_odds_model.py +0 -0
  70. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_player_model.py +0 -0
  71. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_team_model.py +0 -0
  72. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/espn/espn_venue_model.py +0 -0
  73. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/field_type.py +0 -0
  74. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/game_model.py +0 -0
  75. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/__init__.py +0 -0
  76. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/google_address_model.py +0 -0
  77. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/google/google_news_model.py +0 -0
  78. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/__init__.py +0 -0
  79. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
  80. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
  81. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
  82. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
  83. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
  84. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
  85. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
  86. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
  87. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/hkjc/position.py +0 -0
  88. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/league.py +0 -0
  89. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/league_model.py +0 -0
  90. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/model.py +0 -0
  91. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/__init__.py +0 -0
  92. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/combined/__init__.py +0 -0
  93. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
  94. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/espn/__init__.py +0 -0
  95. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
  96. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/__init__.py +0 -0
  97. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
  98. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
  99. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
  100. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/__init__.py +0 -0
  101. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
  102. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
  103. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
  104. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
  105. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
  106. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/__init__.py +0 -0
  107. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
  108. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/position.py +0 -0
  109. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/__init__.py +0 -0
  110. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
  111. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/__init__.py +0 -0
  112. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
  113. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/__init__.py +0 -0
  114. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/combined/__init__.py +0 -0
  115. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
  116. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/espn/__init__.py +0 -0
  117. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
  118. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
  119. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
  120. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
  121. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
  122. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/__init__.py +0 -0
  123. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/__init__.py +0 -0
  124. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
  125. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/__init__.py +0 -0
  126. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
  127. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
  128. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
  129. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/news_model.py +0 -0
  130. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/__init__.py +0 -0
  131. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
  132. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
  133. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/combined/__init__.py +0 -0
  134. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
  135. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/espn/__init__.py +0 -0
  136. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
  137. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
  138. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
  139. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/position.py +0 -0
  140. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
  141. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
  142. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/odds_model.py +0 -0
  143. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/__init__.py +0 -0
  144. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/decrypt.py +0 -0
  145. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
  146. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
  147. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
  148. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
  149. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
  150. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
  151. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/owner_model.py +0 -0
  152. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/player_model.py +0 -0
  153. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/season_type.py +0 -0
  154. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sex.py +0 -0
  155. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/social_model.py +0 -0
  156. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/species.py +0 -0
  157. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/__init__.py +0 -0
  158. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
  159. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
  160. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
  161. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
  162. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/__init__.py +0 -0
  163. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
  164. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
  165. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
  166. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
  167. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
  168. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
  169. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/team_model.py +0 -0
  170. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/venue_model.py +0 -0
  171. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/__init__.py +0 -0
  172. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/gribstream/__init__.py +0 -0
  173. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
  174. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/multi_weather_model.py +0 -0
  175. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/__init__.py +0 -0
  176. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
  177. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/weather_model.py +0 -0
  178. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/wikipedia/__init__.py +0 -0
  179. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
  180. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/x/__init__.py +0 -0
  181. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/data/x/x_social_model.py +0 -0
  182. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/logger.py +0 -0
  183. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/loglevel.py +0 -0
  184. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/playwright.py +0 -0
  185. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/proxy_session.py +0 -0
  186. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/session.py +0 -0
  187. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/sportsball.py +0 -0
  188. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/vendor/__init__.py +0 -0
  189. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball/vendor/pygooglenews/__init__.py +0 -0
  190. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/SOURCES.txt +0 -0
  191. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/dependency_links.txt +0 -0
  192. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/entry_points.txt +0 -0
  193. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/not-zip-safe +0 -0
  194. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/requires.txt +0 -0
  195. {sportsball-0.4.7 → sportsball-0.4.8}/sportsball.egg-info/top_level.txt +0 -0
  196. {sportsball-0.4.7 → sportsball-0.4.8}/tests/__init__.py +0 -0
  197. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/__init__.py +0 -0
  198. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/__init__.py +0 -0
  199. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/__init__.py +0 -0
  200. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
  201. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
  202. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/__init__.py +0 -0
  203. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +0 -0
  204. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
  205. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
  206. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
  207. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/aussportsbetting/__init__.py +0 -0
  208. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
  209. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/__init__.py +0 -0
  210. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_game_model_test.py +0 -0
  211. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_player_model_test.py +0 -0
  212. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/combined/combined_team_model_test.py +0 -0
  213. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/__init__.py +0 -0
  214. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/espn_game_model_test.py +0 -0
  215. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/espn/espn_player_model_test.py +0 -0
  216. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/game_model_test.py +0 -0
  217. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/__init__.py +0 -0
  218. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/google_address_model_test.py +0 -0
  219. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/google/google_news_model_test.py +0 -0
  220. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/__init__.py +0 -0
  221. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/__init__.py +0 -0
  222. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
  223. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +0 -0
  224. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/__init__.py +0 -0
  225. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/__init__.py +0 -0
  226. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
  227. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
  228. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
  229. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsdb/__init__.py +0 -0
  230. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
  231. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsreference/__init__.py +0 -0
  232. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
  233. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/__init__.py +0 -0
  234. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/__init__.py +0 -0
  235. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
  236. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/__init__.py +0 -0
  237. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/sportsdb/__init__.py +0 -0
  238. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
  239. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/__init__.py +0 -0
  240. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/decrypt_test.py +0 -0
  241. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
  242. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
  243. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/player_model_test.py +0 -0
  244. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/social_model_test.py +0 -0
  245. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/__init__.py +0 -0
  246. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
  247. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
  248. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
  249. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
  250. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/__init__.py +0 -0
  251. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
  252. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
  253. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
  254. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
  255. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
  256. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
  257. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/team_model_test.py +0 -0
  258. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/x/__init__.py +0 -0
  259. {sportsball-0.4.7 → sportsball-0.4.8}/tests/data/x/x_social_model_test.py +0 -0
  260. {sportsball-0.4.7 → sportsball-0.4.8}/tests/proxy_session_test.py +0 -0
  261. {sportsball-0.4.7 → sportsball-0.4.8}/tests/sportsball_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: A library for pulling in and normalising sports stats.
5
5
  Home-page: https://github.com/8W9aG/sportsball
6
6
  Author: Will Sackfield
@@ -26,7 +26,7 @@ def install_requires() -> typing.List[str]:
26
26
 
27
27
  setup(
28
28
  name='sportsball',
29
- version='0.4.7',
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',
@@ -4,4 +4,4 @@
4
4
  import cchardet # type: ignore
5
5
  import lxml # noqa: ignore
6
6
 
7
- __VERSION__ = "0.4.7"
7
+ __VERSION__ = "0.4.8"
@@ -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 = df.iat[2, 2].split("-")[0].strip()
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
- trainer_name = row["Trainer"].split("(")[0].strip()
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 = float(row["Act. Wt."]) * 0.453592
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
- if row["Declar. Horse Wt."] != "---":
89
- horse_weight = float(row["Declar. Horse Wt."]) * 0.453592
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
- players = [horse_player]
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
- players.append(jockey_player)
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,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: A library for pulling in and normalising sports stats.
5
5
  Home-page: https://github.com/8W9aG/sportsball
6
6
  Author: Will Sackfield
File without changes
File without changes
File without changes
File without changes
File without changes