feat: Add tkinter-based directory browse buttons for source and destination paths
This commit is contained in:
parent
c6caac6965
commit
70e3af157e
@ -3,3 +3,4 @@ msoffcrypto-tool>=5.0.0
|
||||
tqdm>=4.65.0
|
||||
streamlit>=1.24.0
|
||||
python-docx>=0.8.11
|
||||
tkinter
|
||||
|
||||
@ -171,29 +171,28 @@ with col1:
|
||||
|
||||
col_src1, col_src2 = st.columns([1, 4])
|
||||
with col_src1:
|
||||
if st.button("How to Browse", key='source_browse'):
|
||||
st.info("""
|
||||
To find your folder path in Windows:
|
||||
1. Open 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)
|
||||
|
||||
Example paths:
|
||||
C:\\Users\\YourName\\Documents
|
||||
D:\\Work\\Files
|
||||
""")
|
||||
if st.button("Browse", key='source_browse'):
|
||||
try:
|
||||
import tkinter as tk
|
||||
from tkinter import filedialog
|
||||
root = tk.Tk()
|
||||
root.withdraw()
|
||||
root.wm_attributes('-topmost', 1)
|
||||
path = filedialog.askdirectory(title="Select Source Directory")
|
||||
if path:
|
||||
st.session_state['source_dir'] = path
|
||||
st.session_state['source_dir_input'] = path
|
||||
st.experimental_rerun()
|
||||
root.destroy()
|
||||
except Exception as e:
|
||||
st.error(f"Error selecting directory: {str(e)}")
|
||||
|
||||
# Add a check and display for source directory status
|
||||
if source_dir:
|
||||
# Convert Windows path to Linux path if needed
|
||||
source_dir = source_dir.replace('\\', '/')
|
||||
if os.path.exists(source_dir):
|
||||
st.success(f"✅ Source directory exists: {source_dir}")
|
||||
else:
|
||||
st.error(f"❌ Source directory not found: {source_dir}")
|
||||
st.info("Make sure the path is accessible to the Linux server")
|
||||
|
||||
# Destination Directory
|
||||
dest_dir = st.text_input("Destination Directory Path",
|
||||
@ -203,24 +202,24 @@ with col1:
|
||||
|
||||
col_dest1, col_dest2 = st.columns([1, 4])
|
||||
with col_dest1:
|
||||
if st.button("How to Browse", key='dest_browse'):
|
||||
st.info("""
|
||||
To find your folder path in Windows:
|
||||
1. Open 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)
|
||||
|
||||
Example paths:
|
||||
C:\\Users\\YourName\\Documents
|
||||
D:\\Work\\Files
|
||||
""")
|
||||
if st.button("Browse", key='dest_browse'):
|
||||
try:
|
||||
import tkinter as tk
|
||||
from tkinter import filedialog
|
||||
root = tk.Tk()
|
||||
root.withdraw()
|
||||
root.wm_attributes('-topmost', 1)
|
||||
path = filedialog.askdirectory(title="Select Destination Directory")
|
||||
if path:
|
||||
st.session_state['dest_dir'] = path
|
||||
st.session_state['dest_dir_input'] = path
|
||||
st.experimental_rerun()
|
||||
root.destroy()
|
||||
except Exception as e:
|
||||
st.error(f"Error selecting directory: {str(e)}")
|
||||
|
||||
# Add a check and display for destination directory status
|
||||
if dest_dir:
|
||||
# Convert Windows path to Linux path if needed
|
||||
dest_dir = dest_dir.replace('\\', '/')
|
||||
dest_parent = os.path.dirname(dest_dir)
|
||||
if os.path.exists(dest_parent):
|
||||
if os.path.exists(dest_dir):
|
||||
@ -229,7 +228,6 @@ with col1:
|
||||
st.info(f"i️ Destination directory will be created: {dest_dir}")
|
||||
else:
|
||||
st.error(f"❌ Parent directory not found: {dest_parent}")
|
||||
st.info("Make sure the path is accessible to the Linux server")
|
||||
|
||||
with col2:
|
||||
if file_type == "Excel":
|
||||
|
||||
Loading…
Reference in New Issue
Block a user