From fd90ae3bde69fef74ae560081bf918e9f7d2fb4a Mon Sep 17 00:00:00 2001 From: kodarfour Date: Mon, 31 Jul 2023 16:38:52 -0400 Subject: [PATCH 1/2] Added ties data to the data returned by the get_standings() method and Updated documentation to reflect such changes (README and CONTRIBUTORS) --- CONTRIBUTORS.md | 4 ++++ README.md | 4 ++-- sleeper_wrapper/league.py | 7 ++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 08b9c15..27c147c 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -14,3 +14,7 @@ sleeper-api-wrapper contributors [scipio314](https://github.com/scipio314) - Fixed KeyError in the get_team_score() method. + +[Kofi Darfour](https://github.com/kodarfour) + - Added ties data to the data returned by the get_standings() method. + - Updated documentation diff --git a/README.md b/README.md index f833684..cc86349 100644 --- a/README.md +++ b/README.md @@ -158,9 +158,9 @@ Gets the standings in a league. Returns a list of the standings in order of most Data returned looks like: ~~~ -[(username, number_of_wins, number_of_losses, total_points), (username, number_of_wins, number_of_losses, total_points),...] +[(username, number_of_wins, number_of_losses, number_of_ties, total_points), (username, number_of_wins, number_of_losses, number_of_ties, total_points),...] ~~~ -- types: username(str), number_of_wins(int), number_of_losses(int), total_points(int) +- types: username(str), number_of_wins(int), number_of_losses(int), number_of_ties(int), total_points(int) - "username" could be None if a user does not have a username. Example usage: diff --git a/sleeper_wrapper/league.py b/sleeper_wrapper/league.py index 560c17f..706a843 100644 --- a/sleeper_wrapper/league.py +++ b/sleeper_wrapper/league.py @@ -67,17 +67,18 @@ def get_standings(self, rosters, users): points = roster["settings"]["fpts"] name = roster["owner_id"] losses = roster["settings"]["losses"] + ties = roster["settings"]["ties"] if name is not None: - roster_tuple = (wins, losses, points, users_dict[name]) + roster_tuple = (wins, losses, ties, points, users_dict[name]) else: - roster_tuple = (wins, losses, points, None) + roster_tuple = (wins, losses, ties, points, None) roster_standings_list.append(roster_tuple) roster_standings_list.sort(reverse = 1) clean_standings_list = [] for item in roster_standings_list: - clean_standings_list.append((item[3], str(item[0]), str(item[1]), str(item[2]))) + clean_standings_list.append((item[4], str(item[0]), str(item[1]), str(item[2]), str(item[3]))) return clean_standings_list From 434472a2eba2fb87e85625d36beefffeea65a950 Mon Sep 17 00:00:00 2001 From: kodarfour Date: Wed, 2 Aug 2023 14:16:58 -0400 Subject: [PATCH 2/2] Added nba option to get_all_players() method; updated appropriate documentation to maintain consistency with Sleeper API --- CONTRIBUTORS.md | 5 +++++ README.md | 8 +++++--- sleeper_wrapper/players.py | 7 +++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 27c147c..8e98961 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -17,4 +17,9 @@ sleeper-api-wrapper contributors [Kofi Darfour](https://github.com/kodarfour) - Added ties data to the data returned by the get_standings() method. + - Added ability to fetch players from the NBA in the get_all_players() method. - Updated documentation + - get_standings() + - get_all_players() + - get_trending_players() + - Made consistent with updated Sleeper API documentation. diff --git a/README.md b/README.md index cc86349..b8fcd03 100644 --- a/README.md +++ b/README.md @@ -330,14 +330,16 @@ from sleeper_wrapper import Players players = Players() ~~~ -### Players.get_all_players() -Gets all of the players in fantasy football. Data returned looks like: https://docs.sleeper.app/#fetch-all-players +### Players.get_all_players(sport) +Gets all of the players in fantasy football or basketaball (Recommended to use once per day). Data returned looks like: https://docs.sleeper.app/#fetch-all-players + +- sport: (str) The sport to get. Only "nfl" or "nba" right now. ### Players.get_trending_players(sport, add_drop, hours, limit) Gets all of the players in fantasy football. Data returned looks like: https://docs.sleeper.app/#trending-players -- sport: (str) The sport to get. Supports only "nfl" right now. +- sport: (str) The sport to get. Supports all sports (nfl, nba, lcs, etc...). - add_drop: (str) Either "add" or "drop". - hours: (int or str) Number of hours to look back. Default is 24 hours. - limit: (int or str) Number of results you want. Default is 25. diff --git a/sleeper_wrapper/players.py b/sleeper_wrapper/players.py index 95b90c6..bf17733 100644 --- a/sleeper_wrapper/players.py +++ b/sleeper_wrapper/players.py @@ -4,8 +4,11 @@ class Players(BaseApi): def __init__(self): pass - def get_all_players(self): - return self._call("https://api.sleeper.app/v1/players/nfl") + def get_all_players(self, sport): + if sport == "nfl": + return self._call("https://api.sleeper.app/v1/players/nfl") + if sport == "nba": + return self._call("https://api.sleeper.app/v1/players/nba") def get_trending_players(self,sport, add_drop, hours=24, limit=25 ): return self._call("https://api.sleeper.app/v1/players/{}/trending/{}?lookback_hours={}&limit={}".format(sport, add_drop, hours, limit)) \ No newline at end of file