diff --git a/src/common.py b/src/common.py index acfd2cdcbc6d377d05504c9517d8458df419db89..c9fe3cbfc68141989a541b06cafd1dd88d364f5b 100644 --- a/src/common.py +++ b/src/common.py @@ -26,4 +26,4 @@ from utils.visualize import * from utils.miscellaneous import ObjectHash from utils.samsel import Samplers from report import report -from utils.data_handling import fmt \ No newline at end of file +from utils.data_handling import fmt, st_var \ No newline at end of file diff --git a/src/utils/data_handling.py b/src/utils/data_handling.py index 5e4671a769454032ddaedc29d35490de32cf75f4..3c88aec2002ce31980d7567b040b039ab6b55b4f 100644 --- a/src/utils/data_handling.py +++ b/src/utils/data_handling.py @@ -75,7 +75,7 @@ def fmt(x): return x if x else "<Select>" -def st_var(variable, initialize=True, update=False): +def st_var(variable, initialize=True, update=False, type= 'increment'): """ Manages a variable in the Streamlit session state, allowing it to be initialized, updated, and retained across interactions. @@ -112,13 +112,19 @@ def st_var(variable, initialize=True, update=False): # Initialize the variable if needed if initialize: if variable not in st.session_state: - st.session_state[variable] = 0 + if type =='increment': + st.session_state[variable] = 0 + elif type =='boolean': + st.session_state[variable] = False else: pass # Update the variable if needed if update: - st.session_state[variable] += 1 + if type =='increment': + st.session_state[variable] += 1 + elif type =='boolean': + st.session_state[variable] = not st.session_state[variable] def list_files(mypath, import_type):