From 78760f0866bf6f5e0a2aa4213bd6a428d6e28799 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 7 Feb 2024 15:45:49 +0100 Subject: [PATCH] Fix: Avoid race condition creating directory This happened on the buildbot with multithreaded tests. --- add_curve_sapling/__init__.py | 5 +---- space_view3d_stored_views/io.py | 3 +-- space_view3d_stored_views/stored_views_test.py | 3 +-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/add_curve_sapling/__init__.py b/add_curve_sapling/__init__.py index 07607b77..e46f1945 100644 --- a/add_curve_sapling/__init__.py +++ b/add_curve_sapling/__init__.py @@ -106,10 +106,7 @@ def getPresetpaths(): """Return paths for both local and user preset folders""" userDir = os.path.join(bpy.utils.script_path_user(), 'presets', 'operator', 'add_curve_sapling') - if os.path.isdir(userDir): - pass - else: - os.makedirs(userDir) + os.makedirs(userDir, exist_ok=True) script_file = os.path.realpath(__file__) directory = os.path.dirname(script_file) diff --git a/space_view3d_stored_views/io.py b/space_view3d_stored_views/io.py index 08b0675a..7dbe4926 100644 --- a/space_view3d_stored_views/io.py +++ b/space_view3d_stored_views/io.py @@ -35,8 +35,7 @@ class IO_Utils(): # stored_views preset folder doesn't exist, so create it paths = [os.path.join(bpy.utils.user_resource('SCRIPTS'), "presets", "stored_views")] - if not os.path.exists(paths[0]): - os.makedirs(paths[0]) + os.makedirs(paths[0], exist_ok=True) return(paths) diff --git a/space_view3d_stored_views/stored_views_test.py b/space_view3d_stored_views/stored_views_test.py index e8abac9f..2b3a1bab 100644 --- a/space_view3d_stored_views/stored_views_test.py +++ b/space_view3d_stored_views/stored_views_test.py @@ -875,8 +875,7 @@ class IO_Utils(): # stored_views preset folder doesn't exist, so create it paths = [os.path.join(bpy.utils.user_resource('SCRIPTS'), "presets", "stored_views")] - if not os.path.exists(paths[0]): - os.makedirs(paths[0]) + os.makedirs(paths[0], exist_ok=True) return(paths)