23 lines
705 B
Python
23 lines
705 B
Python
|
# backend/core/directory_handler.py
|
||
|
import os
|
||
|
from pathlib import Path
|
||
|
import tkinter as tk
|
||
|
from tkinter import filedialog
|
||
|
from flask import jsonify
|
||
|
|
||
|
def select_directory():
|
||
|
"""Show directory selection dialog and return selected path"""
|
||
|
root = tk.Tk()
|
||
|
root.withdraw()
|
||
|
root.attributes('-topmost', True) # Hace que el diálogo siempre esté encima
|
||
|
|
||
|
try:
|
||
|
directory = filedialog.askdirectory(
|
||
|
title="Select Work Directory",
|
||
|
initialdir=os.path.expanduser("~")
|
||
|
)
|
||
|
return {"path": directory} if directory else {"error": "No directory selected"}
|
||
|
except Exception as e:
|
||
|
return {"error": str(e)}
|
||
|
finally:
|
||
|
root.destroy()
|