James McCool commited on
Commit
602712b
·
1 Parent(s): 610b496

Refactor portfolio copy handling in app.py: simplify the logic for creating a portfolio copy and streamline export file updates, enhancing data management and user experience during portfolio interactions.

Browse files
Files changed (1) hide show
  1. app.py +8 -13
app.py CHANGED
@@ -844,7 +844,6 @@ with tab3:
844
 
845
  st.session_state['portfolio'] = trim_portfolio(st.session_state['portfolio'], performance_type, own_type)
846
  st.session_state['portfolio'] = st.session_state['portfolio'].sort_values(by='median', ascending=False)
847
- st.session_state['download_portfolio'] = st.session_state['portfolio'].copy()
848
 
849
  with col2:
850
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
@@ -914,11 +913,7 @@ with tab3:
914
  key=key
915
  )
916
 
917
- # Create a copy of the portfolio
918
- if 'download_portfolio' not in st.session_state:
919
- portfolio_copy = st.session_state['portfolio'].copy()
920
- else:
921
- portfolio_copy = st.session_state['download_portfolio'].copy()
922
 
923
  submitted = st.form_submit_button("Submit")
924
  if submitted:
@@ -939,15 +934,15 @@ with tab3:
939
  portfolio_concat = pd.concat(selected_rows)
940
 
941
  # Update export_file with filtered data
942
- export_file = portfolio_concat.copy()
943
- for col in export_file.columns:
944
  if col not in excluded_cols:
945
- export_file[col] = export_file[col].map(st.session_state['export_dict'])
946
  st.write('Export portfolio updated!')
947
- try:
948
- st.download_button(label="Download Portfolio", data=export_file.to_csv(index=False), file_name="portfolio.csv", mime="text/csv")
949
- except:
950
- st.error("No portfolio to download")
951
 
952
  # Add pagination controls below the dataframe
953
  total_rows = len(st.session_state['portfolio'])
 
844
 
845
  st.session_state['portfolio'] = trim_portfolio(st.session_state['portfolio'], performance_type, own_type)
846
  st.session_state['portfolio'] = st.session_state['portfolio'].sort_values(by='median', ascending=False)
 
847
 
848
  with col2:
849
  st.session_state['portfolio'] = predict_dupes(st.session_state['portfolio'], map_dict, site_var, type_var, Contest_Size, strength_var)
 
913
  key=key
914
  )
915
 
916
+ portfolio_copy = st.session_state['portfolio'].copy()
 
 
 
 
917
 
918
  submitted = st.form_submit_button("Submit")
919
  if submitted:
 
934
  portfolio_concat = pd.concat(selected_rows)
935
 
936
  # Update export_file with filtered data
937
+ st.session_state['export_file'] = portfolio_concat.copy()
938
+ for col in st.session_state['export_file'].columns:
939
  if col not in excluded_cols:
940
+ st.session_state['export_file'][col] = st.session_state['export_file'][col].map(st.session_state['export_dict'])
941
  st.write('Export portfolio updated!')
942
+ try:
943
+ st.download_button(label="Download Portfolio", data=st.session_state['export_file'].to_csv(index=False), file_name="portfolio.csv", mime="text/csv")
944
+ except:
945
+ st.error("No portfolio to download")
946
 
947
  # Add pagination controls below the dataframe
948
  total_rows = len(st.session_state['portfolio'])