James McCool commited on
Commit
bdf6978
·
1 Parent(s): d5f1d98

Refactor position eligibility checks in exposure_spread.py to use explicit conditionals for each position, improving clarity and maintainability of the code.

Browse files
Files changed (1) hide show
  1. global_func/exposure_spread.py +46 -14
global_func/exposure_spread.py CHANGED
@@ -10,10 +10,16 @@ import math
10
  #### makes sure to check if the player is eligible for the position before replacing them
11
 
12
  def check_nba_position_eligibility(column_name, player_positions):
13
- if any(pos in column_name for pos in ['PG', 'SG', 'SF', 'PF', 'C']):
14
- # Extract the base position from the column name
15
- base_position = next(pos for pos in ['PG', 'SG', 'SF', 'PF', 'C'] if pos in column_name)
16
- return base_position in player_positions
 
 
 
 
 
 
17
  elif 'G' in column_name:
18
  return any(pos in ['PG', 'SG'] for pos in player_positions)
19
  elif 'F' in column_name:
@@ -23,10 +29,18 @@ def check_nba_position_eligibility(column_name, player_positions):
23
  return False
24
 
25
  def check_lol_position_eligibility(column_name, player_positions):
26
- if any(pos in column_name for pos in ['TOP', 'JNG', 'MID', 'ADC', 'SUP', 'Team']):
27
- # Extract the base position from the column name
28
- base_position = next(pos for pos in ['TOP', 'JNG', 'MID', 'ADC', 'SUP', 'Team'] if pos in column_name)
29
- return base_position in player_positions
 
 
 
 
 
 
 
 
30
  elif 'CPT' in column_name:
31
  return any(pos in ['TOP', 'JNG', 'MID', 'ADC', 'SUP'] for pos in player_positions)
32
  return False
@@ -49,8 +63,16 @@ def check_mlb_position_eligibility(column_name, player_positions):
49
  return False
50
 
51
  def check_nfl_position_eligibility(column_name, player_positions):
52
- if any(pos in column_name for pos in ['QB', 'RB', 'WR', 'TE', 'DST']):
53
- return any(pos in ['QB', 'RB', 'WR', 'TE', 'DST'] for pos in player_positions)
 
 
 
 
 
 
 
 
54
  elif 'FLEX' in column_name:
55
  return any(pos in ['RB', 'WR', 'TE'] for pos in player_positions)
56
  elif 'UTIL' in column_name:
@@ -78,8 +100,12 @@ def check_nascar_position_eligibility(column_name, player_positions):
78
  return True
79
 
80
  def check_cfb_position_eligibility(column_name, player_positions):
81
- if any(pos in column_name for pos in ['QB', 'RB', 'WR']):
82
- return any(pos in ['QB', 'RB', 'WR'] for pos in player_positions)
 
 
 
 
83
  elif 'FLEX' in column_name:
84
  return any(pos in ['RB', 'WR'] for pos in player_positions)
85
  elif 'SUPERFLEX' in column_name:
@@ -87,8 +113,14 @@ def check_cfb_position_eligibility(column_name, player_positions):
87
  return False
88
 
89
  def check_nhl_position_eligibility(column_name, player_positions):
90
- if any(pos in column_name for pos in ['C', 'W', 'D', 'G']):
91
- return any(pos in ['C', 'W', 'D', 'G'] for pos in player_positions)
 
 
 
 
 
 
92
  elif 'FLEX' in column_name:
93
  return True # UTIL can be any position
94
  elif 'UTIL' in column_name:
 
10
  #### makes sure to check if the player is eligible for the position before replacing them
11
 
12
  def check_nba_position_eligibility(column_name, player_positions):
13
+ if 'PG' in column_name:
14
+ return 'PG' in player_positions
15
+ elif 'SG' in column_name:
16
+ return 'SG' in player_positions
17
+ elif 'SF' in column_name:
18
+ return 'SF' in player_positions
19
+ elif 'PF' in column_name:
20
+ return 'PF' in player_positions
21
+ elif 'C' in column_name:
22
+ return 'C' in player_positions
23
  elif 'G' in column_name:
24
  return any(pos in ['PG', 'SG'] for pos in player_positions)
25
  elif 'F' in column_name:
 
29
  return False
30
 
31
  def check_lol_position_eligibility(column_name, player_positions):
32
+ if 'TOP' in column_name:
33
+ return 'TOP' in player_positions
34
+ elif 'JNG' in column_name:
35
+ return 'JNG' in player_positions
36
+ elif 'MID' in column_name:
37
+ return 'MID' in player_positions
38
+ elif 'ADC' in column_name:
39
+ return 'ADC' in player_positions
40
+ elif 'SUP' in column_name:
41
+ return 'SUP' in player_positions
42
+ elif 'Team' in column_name:
43
+ return 'Team' in player_positions
44
  elif 'CPT' in column_name:
45
  return any(pos in ['TOP', 'JNG', 'MID', 'ADC', 'SUP'] for pos in player_positions)
46
  return False
 
63
  return False
64
 
65
  def check_nfl_position_eligibility(column_name, player_positions):
66
+ if 'QB' in column_name:
67
+ return 'QB' in player_positions
68
+ elif 'RB' in column_name:
69
+ return 'RB' in player_positions
70
+ elif 'WR' in column_name:
71
+ return 'WR' in player_positions
72
+ elif 'TE' in column_name:
73
+ return 'TE' in player_positions
74
+ elif 'DST' in column_name:
75
+ return 'DST' in player_positions
76
  elif 'FLEX' in column_name:
77
  return any(pos in ['RB', 'WR', 'TE'] for pos in player_positions)
78
  elif 'UTIL' in column_name:
 
100
  return True
101
 
102
  def check_cfb_position_eligibility(column_name, player_positions):
103
+ if 'QB' in column_name:
104
+ return 'QB' in player_positions
105
+ elif 'RB' in column_name:
106
+ return 'RB' in player_positions
107
+ elif 'WR' in column_name:
108
+ return 'WR' in player_positions
109
  elif 'FLEX' in column_name:
110
  return any(pos in ['RB', 'WR'] for pos in player_positions)
111
  elif 'SUPERFLEX' in column_name:
 
113
  return False
114
 
115
  def check_nhl_position_eligibility(column_name, player_positions):
116
+ if 'C' in column_name:
117
+ return 'C' in player_positions
118
+ elif 'W' in column_name:
119
+ return 'W' in player_positions
120
+ elif 'D' in column_name:
121
+ return 'D' in player_positions
122
+ elif 'G' in column_name:
123
+ return 'G' in player_positions
124
  elif 'FLEX' in column_name:
125
  return True # UTIL can be any position
126
  elif 'UTIL' in column_name: