diff --git a/folder_paths.py b/folder_paths.py index 92e8df3cf..de738b472 100644 --- a/folder_paths.py +++ b/folder_paths.py @@ -122,6 +122,11 @@ def set_temp_directory(temp_dir: str) -> None: def set_input_directory(input_dir: str) -> None: global input_directory input_directory = input_dir + if not os.path.exists(input_directory): + try: + os.makedirs(input_directory) + except: + logging.error("Failed to create input directory") def get_output_directory() -> str: global output_directory diff --git a/tests/test_folder_paths.py b/tests/test_folder_paths.py new file mode 100644 index 000000000..9f89cb41b --- /dev/null +++ b/tests/test_folder_paths.py @@ -0,0 +1,13 @@ +import folder_paths + + +def test_set_input_directory_creates_missing_directory(tmp_path): + original_input_directory = folder_paths.get_input_directory() + custom_input_directory = tmp_path / "custom-input" + + try: + folder_paths.set_input_directory(str(custom_input_directory)) + + assert custom_input_directory.is_dir() + finally: + folder_paths.set_input_directory(original_input_directory)