From a2a33c2a69083239ca369bfaa8e0b98b67313c11 Mon Sep 17 00:00:00 2001 From: "Bobby Abellana (aider)" Date: Tue, 11 Feb 2025 11:39:29 -0800 Subject: [PATCH] feat: Implement shared network directory browsing for cross-platform compatibility --- src/streamlit_app.py | 50 ++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/streamlit_app.py b/src/streamlit_app.py index 13e9d3e..aaa3b38 100644 --- a/src/streamlit_app.py +++ b/src/streamlit_app.py @@ -17,6 +17,30 @@ from main import ( setup_logging ) +def get_shared_path(title="Select Path"): + """Get path from shared network location""" + try: + # Define the base shared directory - modify this to match your network share + base_dir = "/mnt/shared" # or wherever your Windows shares are mounted + + # List available directories + available_dirs = [d for d in os.listdir(base_dir) + if os.path.isdir(os.path.join(base_dir, d))] + + # Create a selection widget + selected_dir = st.selectbox( + f"{title} (Select shared folder)", + options=available_dirs, + key=f"select_{title.lower().replace(' ', '_')}" + ) + + if selected_dir: + full_path = os.path.join(base_dir, selected_dir) + return full_path + except Exception as e: + st.error(f"Error accessing shared directories: {str(e)}") + return None + def select_directory_with_dialog(title="Select Directory"): """Use dialog command to select directory in terminal environment""" try: @@ -190,14 +214,11 @@ with col1: col_src1, col_src2 = st.columns([1, 4]) with col_src1: if st.button("Browse", key='source_browse'): - st.info(""" - To browse for a directory: - 1. Open Windows File Explorer - 2. Navigate to your desired folder - 3. Click in the address bar (or press Alt+D) - 4. Copy the full path (Ctrl+C) - 5. Paste it here (Ctrl+V) - """) + shared_path = get_shared_path("Source Directory") + if shared_path: + st.session_state['source_dir'] = shared_path + st.session_state['source_dir_input'] = shared_path + st.experimental_rerun() # Add a check and display for source directory status if source_dir: @@ -218,14 +239,11 @@ with col1: col_dest1, col_dest2 = st.columns([1, 4]) with col_dest1: if st.button("Browse", key='dest_browse'): - st.info(""" - To browse for a directory: - 1. Open Windows File Explorer - 2. Navigate to your desired folder - 3. Click in the address bar (or press Alt+D) - 4. Copy the full path (Ctrl+C) - 5. Paste it here (Ctrl+V) - """) + shared_path = get_shared_path("Destination Directory") + if shared_path: + st.session_state['dest_dir'] = shared_path + st.session_state['dest_dir_input'] = shared_path + st.experimental_rerun() # Add a check and display for destination directory status if dest_dir: