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
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 |
-
|
55 |
-
|
|
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
|
|
|
|
63 |
|
64 |
-
|
65 |
-
|
|
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
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 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|