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
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 |
-
|
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 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
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'])
|