James McCool commited on
Commit
b5afac7
·
1 Parent(s): 5cebc76

Refactor contest file upload logic in app.py for improved session state management

Browse files

- Removed unnecessary session state clearing to prevent data loss during contest file uploads.
- Enhanced the logic to check for existing contest files before allowing new uploads, ensuring a smoother user experience.
- Maintained existing functionality for loading contest data while improving clarity and efficiency in the upload process.

Files changed (1) hide show
  1. app.py +8 -9
app.py CHANGED
@@ -72,21 +72,20 @@ with tab1:
72
  st.info("Go ahead and upload a Contest file here. Only include player columns and an optional 'Stack' column if you are playing MLB.")
73
  if parse_type == 'DB Search':
74
  contest_name_var = st.selectbox("Select Contest to load", name_parse)
75
- st.session_state.clear()
76
  if 'Contest_file' not in st.session_state:
77
  if st.button('Load Contest Data', key='load_contest_data'):
78
  st.session_state['Contest_file'] = grab_contest_data(sport_select, contest_name_var, contest_id_map, date_select)
79
  else:
80
  pass
81
  elif parse_type == 'Manual':
82
- st.session_state.clear()
83
- st.session_state['Contest_upload'] = st.file_uploader("Upload Contest File (CSV or Excel)", type=['csv', 'xlsx', 'xls'])
84
- if st.session_state['Contest_upload'] is not None:
85
- st.session_state['Contest_file'] = pd.read_csv(st.session_state['Contest_upload'])
86
- st.session_state['Contest_file_helper'] = grab_contest_data(sport_select, name_parse.iloc[0], contest_id_map, date_select)
87
- if 'Contest' in st.session_state:
88
- del st.session_state['Contest']
89
-
90
  if 'Contest_file' in st.session_state:
91
  if 'Contest_file_helper' in st.session_state:
92
  st.session_state['Contest'], st.session_state['ownership_df'], st.session_state['actual_df'], st.session_state['salary_df'], st.session_state['team_df'], st.session_state['pos_df'], st.session_state['entry_list'], check_lineups = load_contest_file(st.session_state['Contest_file'], st.session_state['Contest_file_helper'], sport_select)
 
72
  st.info("Go ahead and upload a Contest file here. Only include player columns and an optional 'Stack' column if you are playing MLB.")
73
  if parse_type == 'DB Search':
74
  contest_name_var = st.selectbox("Select Contest to load", name_parse)
 
75
  if 'Contest_file' not in st.session_state:
76
  if st.button('Load Contest Data', key='load_contest_data'):
77
  st.session_state['Contest_file'] = grab_contest_data(sport_select, contest_name_var, contest_id_map, date_select)
78
  else:
79
  pass
80
  elif parse_type == 'Manual':
81
+ if 'Contest_file' not in st.session_state:
82
+ st.session_state['Contest_upload'] = st.file_uploader("Upload Contest File (CSV or Excel)", type=['csv', 'xlsx', 'xls'])
83
+ if st.session_state['Contest_upload'] is not None:
84
+ st.session_state['Contest_file'] = pd.read_csv(st.session_state['Contest_upload'])
85
+ st.session_state['Contest_file_helper'] = grab_contest_data(sport_select, name_parse.iloc[0], contest_id_map, date_select)
86
+ else:
87
+ pass
88
+
89
  if 'Contest_file' in st.session_state:
90
  if 'Contest_file_helper' in st.session_state:
91
  st.session_state['Contest'], st.session_state['ownership_df'], st.session_state['actual_df'], st.session_state['salary_df'], st.session_state['team_df'], st.session_state['pos_df'], st.session_state['entry_list'], check_lineups = load_contest_file(st.session_state['Contest_file'], st.session_state['Contest_file_helper'], sport_select)