sportsball 0.3.62__tar.gz → 0.3.64__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 (218) hide show
  1. {sportsball-0.3.62/sportsball.egg-info → sportsball-0.3.64}/PKG-INFO +1 -1
  2. {sportsball-0.3.62 → sportsball-0.3.64}/setup.py +1 -1
  3. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/__init__.py +1 -1
  4. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/google/google_address_model.py +36 -0
  5. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/sportsreference_game_model.py +3 -0
  6. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/sportsreference_team_model.py +33 -11
  7. {sportsball-0.3.62 → sportsball-0.3.64/sportsball.egg-info}/PKG-INFO +1 -1
  8. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/sportsreference_team_model_test.py +8 -0
  9. {sportsball-0.3.62 → sportsball-0.3.64}/LICENSE +0 -0
  10. {sportsball-0.3.62 → sportsball-0.3.64}/MANIFEST.in +0 -0
  11. {sportsball-0.3.62 → sportsball-0.3.64}/README.md +0 -0
  12. {sportsball-0.3.62 → sportsball-0.3.64}/requirements.txt +0 -0
  13. {sportsball-0.3.62 → sportsball-0.3.64}/setup.cfg +0 -0
  14. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/__main__.py +0 -0
  15. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/args.py +0 -0
  16. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/cache.py +0 -0
  17. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/__init__.py +0 -0
  18. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/address_model.py +0 -0
  19. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/__init__.py +0 -0
  20. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/__init__.py +0 -0
  21. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
  22. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
  23. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
  24. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
  25. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
  26. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/__init__.py +0 -0
  27. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
  28. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
  29. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
  30. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
  31. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
  32. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
  33. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
  34. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/combined/__init__.py +0 -0
  35. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
  36. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/espn/__init__.py +0 -0
  37. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
  38. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/oddsportal/__init__.py +0 -0
  39. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
  40. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/__init__.py +0 -0
  41. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
  42. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
  43. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
  44. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
  45. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
  46. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
  47. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/bookie_model.py +0 -0
  48. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/__init__.py +0 -0
  49. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_address_model.py +0 -0
  50. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_game_model.py +0 -0
  51. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_league_model.py +0 -0
  52. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_player_model.py +0 -0
  53. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_team_model.py +0 -0
  54. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_venue_model.py +0 -0
  55. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/combined/combined_weather_model.py +0 -0
  56. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/__init__.py +0 -0
  57. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_bookie_model.py +0 -0
  58. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_game_model.py +0 -0
  59. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_league_model.py +0 -0
  60. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_odds_model.py +0 -0
  61. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_player_model.py +0 -0
  62. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_team_model.py +0 -0
  63. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/espn/espn_venue_model.py +0 -0
  64. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/field_type.py +0 -0
  65. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/game_model.py +0 -0
  66. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/google/__init__.py +0 -0
  67. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/google/google_news_model.py +0 -0
  68. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/league.py +0 -0
  69. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/league_model.py +0 -0
  70. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/model.py +0 -0
  71. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/__init__.py +0 -0
  72. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/combined/__init__.py +0 -0
  73. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
  74. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/espn/__init__.py +0 -0
  75. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
  76. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/nba/__init__.py +0 -0
  77. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
  78. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
  79. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
  80. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/oddsportal/__init__.py +0 -0
  81. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
  82. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/sportsdb/__init__.py +0 -0
  83. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
  84. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/sportsreference/__init__.py +0 -0
  85. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
  86. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/__init__.py +0 -0
  87. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/combined/__init__.py +0 -0
  88. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
  89. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/espn/__init__.py +0 -0
  90. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
  91. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
  92. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
  93. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
  94. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
  95. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/__init__.py +0 -0
  96. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/combined/__init__.py +0 -0
  97. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
  98. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/espn/__init__.py +0 -0
  99. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
  100. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
  101. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
  102. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/news_model.py +0 -0
  103. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/__init__.py +0 -0
  104. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
  105. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
  106. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/combined/__init__.py +0 -0
  107. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
  108. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/espn/__init__.py +0 -0
  109. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
  110. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
  111. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
  112. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
  113. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
  114. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/odds_model.py +0 -0
  115. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/__init__.py +0 -0
  116. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/decrypt.py +0 -0
  117. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
  118. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
  119. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
  120. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
  121. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
  122. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
  123. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/player_model.py +0 -0
  124. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/season_type.py +0 -0
  125. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/social_model.py +0 -0
  126. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsdb/__init__.py +0 -0
  127. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
  128. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
  129. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
  130. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
  131. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/__init__.py +0 -0
  132. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
  133. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
  134. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
  135. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/team_model.py +0 -0
  136. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/venue_model.py +0 -0
  137. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/__init__.py +0 -0
  138. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/gribstream/__init__.py +0 -0
  139. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
  140. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/multi_weather_model.py +0 -0
  141. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/openmeteo/__init__.py +0 -0
  142. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
  143. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/weather_model.py +0 -0
  144. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/wikipedia/__init__.py +0 -0
  145. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
  146. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/x/__init__.py +0 -0
  147. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/data/x/x_social_model.py +0 -0
  148. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/logger.py +0 -0
  149. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/loglevel.py +0 -0
  150. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/playwright.py +0 -0
  151. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/proxy_session.py +0 -0
  152. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/session.py +0 -0
  153. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/sportsball.py +0 -0
  154. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/vendor/__init__.py +0 -0
  155. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball/vendor/pygooglenews/__init__.py +0 -0
  156. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/SOURCES.txt +0 -0
  157. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/dependency_links.txt +0 -0
  158. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/entry_points.txt +0 -0
  159. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/not-zip-safe +0 -0
  160. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/requires.txt +0 -0
  161. {sportsball-0.3.62 → sportsball-0.3.64}/sportsball.egg-info/top_level.txt +0 -0
  162. {sportsball-0.3.62 → sportsball-0.3.64}/tests/__init__.py +0 -0
  163. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/__init__.py +0 -0
  164. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/__init__.py +0 -0
  165. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afl/__init__.py +0 -0
  166. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
  167. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afltables/__init__.py +0 -0
  168. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
  169. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
  170. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
  171. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/aussportsbetting/__init__.py +0 -0
  172. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
  173. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/combined/__init__.py +0 -0
  174. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/combined/combined_game_model_test.py +0 -0
  175. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/combined/combined_player_model_test.py +0 -0
  176. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/espn/__init__.py +0 -0
  177. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/espn/espn_game_model_test.py +0 -0
  178. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/espn/espn_player_model_test.py +0 -0
  179. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/game_model_test.py +0 -0
  180. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/google/__init__.py +0 -0
  181. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/google/google_address_model_test.py +0 -0
  182. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/google/google_news_model_test.py +0 -0
  183. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/__init__.py +0 -0
  184. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/nba/__init__.py +0 -0
  185. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
  186. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
  187. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
  188. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/sportsdb/__init__.py +0 -0
  189. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
  190. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/sportsreference/__init__.py +0 -0
  191. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
  192. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/ncaab/__init__.py +0 -0
  193. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/ncaab/sportsreference/__init__.py +0 -0
  194. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
  195. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nfl/__init__.py +0 -0
  196. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nfl/sportsdb/__init__.py +0 -0
  197. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
  198. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/oddsportal/__init__.py +0 -0
  199. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/oddsportal/decrypt_test.py +0 -0
  200. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
  201. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
  202. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/player_model_test.py +0 -0
  203. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/social_model_test.py +0 -0
  204. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsdb/__init__.py +0 -0
  205. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
  206. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
  207. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
  208. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
  209. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/__init__.py +0 -0
  210. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
  211. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
  212. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
  213. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
  214. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/team_model_test.py +0 -0
  215. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/x/__init__.py +0 -0
  216. {sportsball-0.3.62 → sportsball-0.3.64}/tests/data/x/x_social_model_test.py +0 -0
  217. {sportsball-0.3.62 → sportsball-0.3.64}/tests/proxy_session_test.py +0 -0
  218. {sportsball-0.3.62 → sportsball-0.3.64}/tests/sportsball_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.3.62
3
+ Version: 0.3.64
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.3.62',
29
+ version='0.3.64',
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.3.62"
7
+ __VERSION__ = "0.3.64"
@@ -12758,6 +12758,42 @@ _CACHED_GEOCODES: dict[str, Any] = {
12758
12758
  housenumber="",
12759
12759
  country="USA",
12760
12760
  ),
12761
+ "Rimrock Auto Arena at MetraPark, Billings, Montana": SportsballGeocodeTuple(
12762
+ city="Billings",
12763
+ state="MT",
12764
+ postal="59101",
12765
+ lat=45.800103,
12766
+ lng=-108.477201,
12767
+ housenumber="308",
12768
+ country="USA",
12769
+ ),
12770
+ "Corvallis, Oregon": SportsballGeocodeTuple(
12771
+ city="Corvallis",
12772
+ state="OR",
12773
+ postal="",
12774
+ lat=44.569722,
12775
+ lng=-123.278333,
12776
+ housenumber="",
12777
+ country="USA",
12778
+ ),
12779
+ "Mabee Center, Liberty, Missouri": SportsballGeocodeTuple(
12780
+ city="Liberty",
12781
+ state="MO",
12782
+ postal="64068",
12783
+ lat=39.24962892,
12784
+ lng=-94.4087267,
12785
+ housenumber="924",
12786
+ country="USA",
12787
+ ),
12788
+ "Durham, New Hampshire": SportsballGeocodeTuple(
12789
+ city="Durham",
12790
+ state="NH",
12791
+ postal="",
12792
+ lat=43.133889,
12793
+ lng=-70.926389,
12794
+ housenumber="",
12795
+ country="USA",
12796
+ ),
12761
12797
  }
12762
12798
 
12763
12799
 
@@ -169,6 +169,7 @@ def _find_old_dt(
169
169
  offensive_rebounds,
170
170
  assists,
171
171
  turnovers,
172
+ team_name,
172
173
  )
173
174
  )
174
175
 
@@ -291,6 +292,7 @@ def _find_new_dt(
291
292
  offensive_rebounds,
292
293
  assists,
293
294
  turnovers,
295
+ a.get_text().strip(),
294
296
  )
295
297
  )
296
298
 
@@ -369,6 +371,7 @@ def _create_sportsreference_game_model(
369
371
  for idx, player in enumerate(players):
370
372
  turnovers[player] = tovs[idx]
371
373
  except ValueError as exc:
374
+ logging.error(url)
372
375
  logging.error(response.text)
373
376
  raise exc
374
377
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  # pylint: disable=too-many-arguments,too-many-locals,duplicate-code
4
4
  import datetime
5
+ import http
5
6
  import json
6
7
  import logging
7
8
  import urllib.parse
@@ -28,6 +29,7 @@ _BAD_URLS = {
28
29
  "https://www.sports-reference.com/cbb/players/cia-eklof-1.html",
29
30
  "https://www.sports-reference.com/cbb/players/aj-caldwell-2.html",
30
31
  "https://www.sports-reference.com/cbb/players/akuwovo-ogheneyole-1.html",
32
+ "https://www.sports-reference.com/cbb/players/jevon-lyle-1.html",
31
33
  }
32
34
  _NON_WAYBACK_URLS: set[str] = {
33
35
  "https://www.sports-reference.com/cbb/schools/stony-brook/women/2021.html",
@@ -35,6 +37,9 @@ _NON_WAYBACK_URLS: set[str] = {
35
37
  "https://www.sports-reference.com/cbb/schools/rice/women/2019.html",
36
38
  "https://www.sports-reference.com/cbb/schools/north-carolina/women/2018.html",
37
39
  }
40
+ _BAD_TEAM_URLS = {
41
+ "https://www.sports-reference.com/cbb/schools/mid-atlantic-christian/2016.html",
42
+ }
38
43
 
39
44
 
40
45
  def _find_name(response: requests.Response, soup: BeautifulSoup, url: str) -> str:
@@ -89,25 +94,37 @@ def _create_sportsreference_team_model(
89
94
  offensive_rebounds: dict[str, int],
90
95
  assists: dict[str, int],
91
96
  turnovers: dict[str, int],
97
+ team_name: str,
92
98
  ) -> TeamModel:
93
- if url == "https://www.sports-reference.com/cbb/schools/alaska-anchorage/2016.html":
94
- name = "Alaska-Anchorage"
99
+ headers = {}
100
+ if url in _NON_WAYBACK_URLS:
101
+ headers = {X_NO_WAYBACK: "1"}
102
+ if url in _BAD_TEAM_URLS:
95
103
  return TeamModel(
96
- identifier=name,
97
- name=name,
98
- location="Alaska",
104
+ identifier=team_name,
105
+ name=team_name,
106
+ location=None,
99
107
  players=[],
100
108
  odds=[],
101
109
  points=points,
102
110
  ladder_rank=None,
103
- news=create_google_news_models(name, session, dt, league),
104
- social=create_x_social_model(name, session, dt),
111
+ news=create_google_news_models(team_name, session, dt, league),
112
+ social=create_x_social_model(team_name, session, dt),
105
113
  )
106
-
107
- headers = {}
108
- if url in _NON_WAYBACK_URLS:
109
- headers = {X_NO_WAYBACK: "1"}
110
114
  response = session.get(url, headers=headers)
115
+ if response.status_code == http.HTTPStatus.NOT_FOUND:
116
+ logging.warning("Could not find team %s at url %s", team_name, url)
117
+ return TeamModel(
118
+ identifier=team_name,
119
+ name=team_name,
120
+ location=None,
121
+ players=[],
122
+ odds=[],
123
+ points=points,
124
+ ladder_rank=None,
125
+ news=create_google_news_models(team_name, session, dt, league),
126
+ social=create_x_social_model(team_name, session, dt),
127
+ )
111
128
  response.raise_for_status()
112
129
 
113
130
  soup = BeautifulSoup(response.text, "lxml")
@@ -163,6 +180,7 @@ def _cached_create_sportsreference_team_model(
163
180
  offensive_rebounds: dict[str, int],
164
181
  assists: dict[str, int],
165
182
  turnovers: dict[str, int],
183
+ team_name: str,
166
184
  ) -> TeamModel:
167
185
  return _create_sportsreference_team_model(
168
186
  session,
@@ -176,6 +194,7 @@ def _cached_create_sportsreference_team_model(
176
194
  offensive_rebounds,
177
195
  assists,
178
196
  turnovers,
197
+ team_name,
179
198
  )
180
199
 
181
200
 
@@ -191,6 +210,7 @@ def create_sportsreference_team_model(
191
210
  offensive_rebounds: dict[str, int],
192
211
  assists: dict[str, int],
193
212
  turnovers: dict[str, int],
213
+ team_name: str,
194
214
  ) -> TeamModel:
195
215
  """Create a team model from Sports Reference."""
196
216
  if not pytest_is_running.is_running():
@@ -206,6 +226,7 @@ def create_sportsreference_team_model(
206
226
  offensive_rebounds,
207
227
  assists,
208
228
  turnovers,
229
+ team_name,
209
230
  )
210
231
  with session.cache_disabled():
211
232
  return _create_sportsreference_team_model(
@@ -220,4 +241,5 @@ def create_sportsreference_team_model(
220
241
  offensive_rebounds,
221
242
  assists,
222
243
  turnovers,
244
+ team_name,
223
245
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.3.62
3
+ Version: 0.3.64
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
@@ -32,6 +32,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
32
32
  {},
33
33
  {},
34
34
  {},
35
+ "",
35
36
  )
36
37
  self.assertEqual(team_model.identifier, "Villanova Wildcats Men's")
37
38
 
@@ -57,6 +58,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
57
58
  {},
58
59
  {},
59
60
  {},
61
+ "",
60
62
  )
61
63
  self.assertEqual(team_model.field_goals, 8)
62
64
 
@@ -84,6 +86,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
84
86
  {},
85
87
  {},
86
88
  {},
89
+ "",
87
90
  )
88
91
  self.assertEqual(team_model.field_goals_attempted, 10)
89
92
 
@@ -104,6 +107,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
104
107
  {},
105
108
  {},
106
109
  {},
110
+ "",
107
111
  )
108
112
  self.assertEqual(team_model.identifier, "Los Angeles Clippers")
109
113
 
@@ -124,6 +128,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
124
128
  {},
125
129
  {},
126
130
  {},
131
+ "",
127
132
  )
128
133
  self.assertEqual(team_model.identifier, "Brooklyn Nets")
129
134
 
@@ -144,6 +149,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
144
149
  {},
145
150
  {},
146
151
  {},
152
+ "",
147
153
  )
148
154
  self.assertEqual(team_model.name, "Cleveland Cavaliers")
149
155
 
@@ -164,6 +170,7 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
164
170
  {},
165
171
  {},
166
172
  {},
173
+ "",
167
174
  )
168
175
  self.assertEqual(team_model.name, "Los Angeles Lakers")
169
176
 
@@ -184,5 +191,6 @@ class TestSportsReferenceTeamModel(unittest.TestCase):
184
191
  {},
185
192
  {},
186
193
  {},
194
+ "",
187
195
  )
188
196
  self.assertEqual(team_model.name, "Boston Celtics")
File without changes
File without changes
File without changes
File without changes