Increased flexibility and folder obscuring.

This commit is contained in:
lwark
2024-07-26 08:17:03 -05:00
parent 2a34f855aa
commit 428e47859c
5 changed files with 47 additions and 18 deletions

View File

@@ -9,7 +9,7 @@ from PyQt6.QtWidgets import QMainWindow, QFileDialog
logger = logging.getLogger(f"submissions.{__name__}")
def select_open_file(obj:QMainWindow, file_extension:str) -> Path:
def select_open_file(obj: QMainWindow, file_extension: str | None = None) -> Path:
"""
File dialog to select a file to read from
@@ -19,19 +19,23 @@ def select_open_file(obj:QMainWindow, file_extension:str) -> Path:
Returns:
Path: Path of file to be opened
"""
"""
try:
home_dir = obj.last_dir.resolve().__str__()
except FileNotFoundError:
home_dir = Path.home().resolve().__str__()
except AttributeError:
home_dir = obj.app.last_dir.resolve().__str__()
fname = Path(QFileDialog.getOpenFileName(obj, 'Open file', home_dir, filter = f"{file_extension}(*.{file_extension})")[0])
if file_extension is None:
fname = Path(QFileDialog.getExistingDirectory(obj, "Open Folder", home_dir))
else:
fname = Path(
QFileDialog.getOpenFileName(obj, 'Open file', home_dir, filter=f"{file_extension}(*.{file_extension})")[0])
obj.last_dir = fname.parent
return fname
def select_save_file(obj:QMainWindow, default_name:str, extension:str) -> Path:
def select_save_file(obj: QMainWindow, default_name: str, extension: str) -> Path:
"""
File dialog to select a file to write to
@@ -42,13 +46,13 @@ def select_save_file(obj:QMainWindow, default_name:str, extension:str) -> Path:
Returns:
Path: Path of file to be opened
"""
"""
try:
home_dir = obj.last_dir.joinpath(default_name).resolve().__str__()
except FileNotFoundError:
home_dir = Path.home().joinpath(default_name).resolve().__str__()
except AttributeError:
home_dir = obj.app.last_dir.joinpath(default_name).resolve().__str__()
fname = Path(QFileDialog.getSaveFileName(obj, "Save File", home_dir, filter = f"{extension}(*.{extension})")[0])
fname = Path(QFileDialog.getSaveFileName(obj, "Save File", home_dir, filter=f"{extension}(*.{extension})")[0])
obj.last_dir = fname.parent
return fname