@@ -16,7 +16,7 @@ class Position(Enum):
16
16
17
17
18
18
class RosterSpot (Enum ):
19
- """Possible roster spots on a roster, listed in order of priority"""
19
+ """Possible roster spots on a roster, listed in order of priority. """
20
20
21
21
QB = 0
22
22
RB = 1
@@ -32,13 +32,13 @@ class RosterSpot(Enum):
32
32
33
33
@dataclass
34
34
class Player :
35
- """
36
- Representation of football player in fantasy football.
35
+ """Representation of football player in fantasy football.
37
36
38
- :param position: Primary position of player
39
- :param name: Full name of player
40
- :param team: NFL team of player
41
- :param ir_eligible: Whether player can use IR slot or not
37
+ Params:
38
+ position (Position): Primary position of player
39
+ name (str): Full name of player
40
+ team (str): NFL team of player
41
+ ir_eligible (bool): Whether player can use IR slot or not
42
42
"""
43
43
44
44
position : Position
@@ -47,11 +47,13 @@ class Player:
47
47
ir_eligible : bool
48
48
49
49
def is_roster_eligible (self , roster_spot : RosterSpot ) -> bool :
50
- """
51
- Return whether player is eligible for given roster spot on a fantasy team.
50
+ """Return whether player is eligible for given roster spot on a fantasy team.
51
+
52
+ Params:
53
+ roster_spot (RosterSpot): Roster spot to check eligibility for
52
54
53
- :param roster_spot: Roster spot to check eligibility for
54
- :return : True if player is eligible for roster spot, False if not
55
+ Returns:
56
+ bool : True if player is eligible for roster spot, False if not
55
57
"""
56
58
match roster_spot :
57
59
case RosterSpot .QB :
@@ -85,28 +87,25 @@ def __str__(self) -> str:
85
87
86
88
87
89
class Roster :
88
- """
89
- Representation of an owner's roster in fantasy football.
90
-
91
- :param settings: Roster spot settings
92
- :param players: Current players on the roster associated with each roster spot
93
- """
90
+ """Representation of an owner's roster in fantasy football."""
94
91
95
92
def __init__ (self , settings : dict [RosterSpot , int ]) -> None :
96
- """
97
- Create a new, empty roster with given roster settings.
93
+ """Create a new, empty roster with given roster settings.
98
94
99
- :param settings: Max number of players for each roster spot type
95
+ Params:
96
+ settings (dict[RosterSpot, int]): Max number of players for each roster spot type
100
97
"""
101
98
self ._settings : dict [RosterSpot , int ] = settings
102
99
self ._players : dict [RosterSpot , list [Player ]] = {pos : [] for pos in RosterSpot }
103
100
104
101
def add_player (self , player : Player ) -> None :
105
- """
106
- Add new player to roster if possible.
102
+ """Add new player to roster if possible.
103
+
104
+ Params:
105
+ player (Player): Player to add to roster
107
106
108
- :param player: Player to add to roster
109
- :raises RuntimeError: No space on roster for player
107
+ Raises:
108
+ RuntimeError: No space on roster for player
110
109
"""
111
110
added : bool = False
112
111
for spot in RosterSpot :
@@ -120,22 +119,24 @@ def add_player(self, player: Player) -> None:
120
119
raise RuntimeError (f"No space on roster for player { player } " )
121
120
122
121
def remove_player (self , player : Player ) -> None :
123
- """
124
- Remove given player from roster if on roster.
122
+ """Remove given player from roster if on roster.
125
123
126
- :param player: Player to remove from roster
124
+ Params:
125
+ player (Player): Player to remove from roster
127
126
"""
128
127
for roster_spot , players in self ._players .items ():
129
128
if player in players :
130
129
self ._players [roster_spot ].remove (player )
131
130
132
131
def swap_players (self , player1 : Player , player2 : Player ) -> None :
133
- """
134
- Swap roster spots of two players on roster.
132
+ """Swap roster spots of two players on roster.
133
+
134
+ Params:
135
+ player1 (Player): First player to swap
136
+ player2 (Player): Second player to swap
135
137
136
- :param player1: First player to swap
137
- :param player2: Second player to swap
138
- :raise RuntimeError: Unable to swap two players
138
+ Raises:
139
+ RuntimeError: Unable to swap two players
139
140
"""
140
141
# Validate each other's roster spot
141
142
p1_roster_spot : RosterSpot | None = None
@@ -156,11 +157,11 @@ def swap_players(self, player1: Player, player2: Player) -> None:
156
157
self ._players [p2_roster_spot ].append (player1 )
157
158
158
159
def move_player (self , player : Player , roster_spot : RosterSpot ) -> None :
159
- """
160
- Move player from current roster spot to a given open roster spot.
160
+ """Move player from current roster spot to a given open roster spot.
161
161
162
- :param player: Player whose spot to change
163
- :param roster_spot: Roster spot to move to
162
+ Params:
163
+ player (Player): Player whose spot to change
164
+ roster_spot (RosterSpot): Roster spot to move to
164
165
"""
165
166
# Verify there's space at roster spot for player and player is eligible to play there
166
167
if len (self ._players [roster_spot ]) >= self ._settings [roster_spot ]:
@@ -195,12 +196,12 @@ def __str__(self) -> str:
195
196
196
197
@dataclass
197
198
class Team :
198
- """
199
- Representation of an owner's fantasy team in fantasy football.
199
+ """Representation of an owner's fantasy team in fantasy football.
200
200
201
- :param name: Team name
202
- :param owner: Owner's name
203
- :param roster: Team's roster
201
+ Params:
202
+ name (str): Team name
203
+ owner (str): Owner's name
204
+ roster (Roster): Team's roster
204
205
"""
205
206
206
207
name : str
@@ -209,29 +210,31 @@ class Team:
209
210
210
211
211
212
class PlayerRanking :
212
- """Holds a list of player rankings and gets different types of rankings based on overall"""
213
+ """Holds a list of player rankings and gets different types of rankings based on overall. """
213
214
214
215
def __init__ (self , players : list [Player ]) -> None :
215
- """
216
- Store an overall list of players as a ranking, from highest rank to lowest rank.
216
+ """Store an overall list of players as a ranking, from highest rank to lowest rank.
217
217
218
- :param players: List of players, ranked
218
+ Params:
219
+ players (list[Player]): List of players, ranked
219
220
"""
220
221
self ._players : list [Player ] = players
221
222
222
223
def get_ovr_rankings (self ) -> list [Player ]:
223
- """
224
- Return current overall rankings, with all positions mixed in
224
+ """Return current overall rankings, with all positions mixed in.
225
225
226
- :return: List of overall rankings, high ranking to low
226
+ Returns:
227
+ list[Player] List of overall rankings, high ranking to low
227
228
"""
228
229
return self ._players
229
230
230
231
def get_pos_rankings (self , position : Position ) -> list [Player ]:
231
- """
232
- Return current player rankings, filtered by a given position
232
+ """Return current player rankings, filtered by a given position.
233
+
234
+ Params:
235
+ position (Position): Player position to filter by
233
236
234
- :param position: Player position to filter by
235
- :return: List of players at given position
237
+ Returns:
238
+ list[Player] List of players at given position
236
239
"""
237
240
return [player for player in self ._players if player .position == position ]
0 commit comments