chore: ui updates (#1209)

* show a workspace path string for easier copy, only percent existing columns when percent summary dataframe

* catch summary exception

* fix a bug

* fix ci
This commit is contained in:
XianBW
2025-08-29 15:05:15 +08:00
committed by GitHub
parent d759ca95e7
commit 215db05656
3 changed files with 11 additions and 12 deletions
+4 -1
View File
@@ -199,4 +199,7 @@ def all_summarize_win():
with st.container(border=True):
all_summarize_win()
try:
all_summarize_win()
except Exception as e:
st.error(f"Error occurred when show summary:\n{e}")
+1
View File
@@ -200,6 +200,7 @@ def workspace_win(workspace, cmp_workspace=None, cmp_name="last code."):
with st.popover(
f"⏱️{time_str} 📂Files in :blue[{replace_ep_path(workspace.workspace_path)}]", use_container_width=True
):
st.write(replace_ep_path(workspace.workspace_path))
code_tabs = st.tabs(show_files.keys())
for ct, codename in zip(code_tabs, show_files.keys()):
with ct:
+6 -11
View File
@@ -662,7 +662,10 @@ def percent_df(summary_df: pd.DataFrame, show_origin=True) -> pd.DataFrame:
"Gold",
"Any Medal",
]
new_df[columns_to_convert] = new_df[columns_to_convert].astype(object)
# Filter columns_to_convert to only include columns that exist in new_df
existing_columns = [col for col in columns_to_convert if col in new_df.columns]
new_df[existing_columns] = new_df[existing_columns].astype(object)
def num2percent(num: int, total: int, show_origin=True) -> str:
num = int(num)
@@ -674,22 +677,14 @@ def percent_df(summary_df: pd.DataFrame, show_origin=True) -> pd.DataFrame:
for k in new_df.index:
loop_num = int(new_df.loc[k, "Total Loops"])
if loop_num != 0:
new_df.loc[k, "Successful Final Decision"] = num2percent(
new_df.loc[k, "Successful Final Decision"], loop_num, show_origin
)
if new_df.loc[k, "Made Submission"] != 0:
new_df.loc[k, "V/M"] = (
f"{round(new_df.loc[k, 'Valid Submission'] / new_df.loc[k, 'Made Submission'] * 100, 2)}%"
)
else:
new_df.loc[k, "V/M"] = "N/A"
new_df.loc[k, "Made Submission"] = num2percent(new_df.loc[k, "Made Submission"], loop_num, show_origin)
new_df.loc[k, "Valid Submission"] = num2percent(new_df.loc[k, "Valid Submission"], loop_num, show_origin)
new_df.loc[k, "Above Median"] = num2percent(new_df.loc[k, "Above Median"], loop_num, show_origin)
new_df.loc[k, "Bronze"] = num2percent(new_df.loc[k, "Bronze"], loop_num, show_origin)
new_df.loc[k, "Silver"] = num2percent(new_df.loc[k, "Silver"], loop_num, show_origin)
new_df.loc[k, "Gold"] = num2percent(new_df.loc[k, "Gold"], loop_num, show_origin)
new_df.loc[k, "Any Medal"] = num2percent(new_df.loc[k, "Any Medal"], loop_num, show_origin)
for col in existing_columns:
new_df.loc[k, col] = num2percent(new_df.loc[k, col], loop_num, show_origin)
return new_df