diff --git a/.release b/.release index 4c43b882a..f98ff443b 100644 --- a/.release +++ b/.release @@ -1 +1 @@ -v23.0.7 \ No newline at end of file +v23.0.8 \ No newline at end of file diff --git a/README.md b/README.md index 8e6dc619a..092917941 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ The GUI allows you to set the training parameters and generate and run the requi - [No module called tkinter](#no-module-called-tkinter) - [SDXL training](#sdxl-training) - [Change History](#change-history) + - [2024/03/11 (v23.0.8)](#20240311-v2308) - [2024/03/11 (v23.0.7)](#20240311-v2307) - [2024/03/11 (v23.0.6)](#20240311-v2306) - [2024/03/11 (v23.0.5)](#20240311-v2305) @@ -366,6 +367,10 @@ The documentation in this section will be moved to a separate document later. ## Change History +### 2024/03/11 (v23.0.8) + +- Add the ability to create outout and logs folder if it does not exist + ### 2024/03/11 (v23.0.7) - Fix minor issues related to functions and file path diff --git a/kohya_gui/common_gui.py b/kohya_gui/common_gui.py index 12f2d8347..1357bd8ed 100644 --- a/kohya_gui/common_gui.py +++ b/kohya_gui/common_gui.py @@ -1321,9 +1321,16 @@ def validate_paths(headless:bool = False, **kwargs): if output_dir != None: log.info(f"Validating output folder path {output_dir} existence...") - if output_dir == "" or not os.path.exists(output_dir): - log.error("...output folder path is missing or invalid") + if output_dir == "": + log.error("...output folder path is missing") return False + elif not os.path.exists(output_dir): + try: + os.makedirs(output_dir, exist_ok=True) # Create the directory, no error if it already exists + log.info(f"...created folder at {output_dir}") + except Exception as e: + log.error(f"...failed to create output folder: {e}") + return False else: log.info("...valid") @@ -1331,8 +1338,12 @@ def validate_paths(headless:bool = False, **kwargs): if logging_dir != "": log.info(f"Validating logging folder path {logging_dir} existence...") if not os.path.exists(logging_dir): - log.error("...logging folder path is missing or invalid") - return False + try: + os.makedirs(logging_dir, exist_ok=True) # Create the directory, no error if it already exists + log.info(f"...created folder at {logging_dir}") + except Exception as e: + log.error(f"...failed to create logging folder: {e}") + return False else: log.info("...valid") else: