Fix for #120, Windows filepaths with spaces

This commit is contained in:
Sylvia Krech
2024-05-02 11:47:32 -05:00
parent ea8d954548
commit 9a405dd336

View File

@@ -35,13 +35,15 @@ def open_file(path: str, file_manager: bool = False):
if sys.platform == "win32":
normpath = os.path.normpath(path)
if file_manager:
command_name = "explorer"
command_args = [f"/select,{normpath}"]
command_name = "explorer"
command_args = '/select,"' + normpath + '"'
# If the args are passed in a list, this will error when the path has spaces, even while surrounded in doule quotes. IDK why
subprocess.Popen(command_name + command_args, shell=True, close_fds=True, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_BREAKAWAY_FROM_JOB)
else:
command_name = "start"
# first parameter is for title, NOT filepath
command_args = ["", normpath]
subprocess.Popen([command_name] + command_args, shell=True, close_fds=True, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_BREAKAWAY_FROM_JOB)
subprocess.Popen([command_name] + command_args, shell=True, close_fds=True, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_BREAKAWAY_FROM_JOB)
else:
if sys.platform == "darwin":
command_name = "open"