James McCool commited on
Commit
6d396fe
·
1 Parent(s): 467e91f

Enhance app.py with error handling for database queries and data retrieval. Added try-except blocks to ensure robustness when fetching player data from NFL and NBA datasets, preventing application crashes due to missing data. This update improves data integrity and user experience by providing fallback options for empty datasets.

Browse files
Files changed (1) hide show
  1. app.py +33 -20
app.py CHANGED
@@ -51,25 +51,32 @@ def init_baselines():
51
  nba_dk_sd_raw = raw_display[raw_display['site'] == 'Draftkings']
52
  nba_fd_sd_raw = raw_display[raw_display['site'] == 'Fanduel']
53
 
54
- collection = nfl_db["DK_SD_NFL_ROO"]
55
- cursor = collection.find()
 
56
 
57
- raw_display = pd.DataFrame(list(cursor))
58
- raw_display = raw_display[['Player', 'Position', 'Team', 'Opp', 'Salary', 'Floor', 'Median', 'Ceiling', 'Top_finish', 'Top_5_finish', 'Top_10_finish', '20+%', '2x%', '3x%', '4x%',
59
- 'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
60
- raw_display = raw_display.loc[raw_display['Median'] > 0]
61
- raw_display = raw_display.apply(pd.to_numeric, errors='ignore')
62
- nfl_dk_sd_raw = raw_display.sort_values(by='Median', ascending=False)
 
 
63
 
64
- collection = nfl_db["FD_SD_NFL_ROO"]
65
- cursor = collection.find()
 
66
 
67
- raw_display = pd.DataFrame(list(cursor))
68
- raw_display = raw_display[['Player', 'Position', 'Team', 'Opp', 'Salary', 'Floor', 'Median', 'Ceiling', 'Top_finish', 'Top_5_finish', 'Top_10_finish', '20+%', '2x%', '3x%', '4x%',
69
- 'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
70
- raw_display = raw_display.loc[raw_display['Median'] > 0]
71
- raw_display = raw_display.apply(pd.to_numeric, errors='ignore')
72
- nfl_fd_sd_raw = raw_display.sort_values(by='Median', ascending=False)
 
 
 
73
  try:
74
  nba_timestamp = nba_dk_sd_raw['timestamp'].values[0]
75
  except:
@@ -80,10 +87,16 @@ def init_baselines():
80
  except:
81
  nfl_dk_timestamp = nfl_fd_sd_raw['timestamp'].values[0]
82
 
83
- nba_dk_id_dict = dict(zip(nba_dk_sd_raw['Player'], nba_dk_sd_raw['player_id']))
84
- nfl_dk_id_dict = dict(zip(nfl_dk_sd_raw['Player'], nfl_dk_sd_raw['player_id']))
85
- nba_fd_id_dict = dict(zip(nba_fd_sd_raw['Player'], nba_fd_sd_raw['player_id']))
86
- nfl_fd_id_dict = dict(zip(nfl_fd_sd_raw['Player'], nfl_fd_sd_raw['player_id']))
 
 
 
 
 
 
87
 
88
  return nba_dk_sd_raw, nba_fd_sd_raw, nfl_dk_sd_raw, nfl_fd_sd_raw, nba_timestamp, nfl_dk_timestamp, nba_dk_id_dict, nfl_dk_id_dict, nba_fd_id_dict, nfl_fd_id_dict
89
 
 
51
  nba_dk_sd_raw = raw_display[raw_display['site'] == 'Draftkings']
52
  nba_fd_sd_raw = raw_display[raw_display['site'] == 'Fanduel']
53
 
54
+ try:
55
+ collection = nfl_db["DK_SD_NFL_ROO"]
56
+ cursor = collection.find()
57
 
58
+ raw_display = pd.DataFrame(list(cursor))
59
+ raw_display = raw_display[['Player', 'Position', 'Team', 'Opp', 'Salary', 'Floor', 'Median', 'Ceiling', 'Top_finish', 'Top_5_finish', 'Top_10_finish', '20+%', '2x%', '3x%', '4x%',
60
+ 'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
61
+ raw_display = raw_display.loc[raw_display['Median'] > 0]
62
+ raw_display = raw_display.apply(pd.to_numeric, errors='ignore')
63
+ nfl_dk_sd_raw = raw_display.sort_values(by='Median', ascending=False)
64
+ except:
65
+ nfl_dk_sd_raw = pd.DataFrame()
66
 
67
+ try:
68
+ collection = nfl_db["FD_SD_NFL_ROO"]
69
+ cursor = collection.find()
70
 
71
+ raw_display = pd.DataFrame(list(cursor))
72
+ raw_display = raw_display[['Player', 'Position', 'Team', 'Opp', 'Salary', 'Floor', 'Median', 'Ceiling', 'Top_finish', 'Top_5_finish', 'Top_10_finish', '20+%', '2x%', '3x%', '4x%',
73
+ 'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
74
+ raw_display = raw_display.loc[raw_display['Median'] > 0]
75
+ raw_display = raw_display.apply(pd.to_numeric, errors='ignore')
76
+ nfl_fd_sd_raw = raw_display.sort_values(by='Median', ascending=False)
77
+ except:
78
+ nfl_fd_sd_raw = pd.DataFrame()
79
+
80
  try:
81
  nba_timestamp = nba_dk_sd_raw['timestamp'].values[0]
82
  except:
 
87
  except:
88
  nfl_dk_timestamp = nfl_fd_sd_raw['timestamp'].values[0]
89
 
90
+ try:
91
+ nba_dk_id_dict = dict(zip(nba_dk_sd_raw['Player'], nba_dk_sd_raw['player_id']))
92
+ nfl_dk_id_dict = dict(zip(nfl_dk_sd_raw['Player'], nfl_dk_sd_raw['player_id']))
93
+ nba_fd_id_dict = dict(zip(nba_fd_sd_raw['Player'], nba_fd_sd_raw['player_id']))
94
+ nfl_fd_id_dict = dict(zip(nfl_fd_sd_raw['Player'], nfl_fd_sd_raw['player_id']))
95
+ except:
96
+ nba_dk_id_dict = dict(zip(nba_dk_sd_raw['Player'], nba_dk_sd_raw['player_id']))
97
+ nfl_dk_id_dict = dict()
98
+ nba_fd_id_dict = dict(zip(nba_fd_sd_raw['Player'], nba_fd_sd_raw['player_id']))
99
+ nfl_fd_id_dict = dict()
100
 
101
  return nba_dk_sd_raw, nba_fd_sd_raw, nfl_dk_sd_raw, nfl_fd_sd_raw, nba_timestamp, nfl_dk_timestamp, nba_dk_id_dict, nfl_dk_id_dict, nba_fd_id_dict, nfl_fd_id_dict
102