[Bf-blender-cvs] [24e887c] master: Fix script_paths(check_all=True) missing script paths
Campbell Barton
noreply at git.blender.org
Fri May 13 19:20:28 CEST 2016
Commit: 24e887cd93d5fc11ec50de2e989849d2911a3403
Author: Campbell Barton
Date: Sat May 14 03:25:06 2016 +1000
Branches: master
https://developer.blender.org/rB24e887cd93d5fc11ec50de2e989849d2911a3403
Fix script_paths(check_all=True) missing script paths
BLENDER_SYSTEM_SCRIPTS wasn't included in bpy.utils.script_paths()
===================================================================
M release/scripts/modules/bpy/utils/__init__.py
===================================================================
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 986d8b9..5e2769c 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -305,15 +305,21 @@ def script_paths(subdir=None, user_pref=True, check_all=False):
"""
scripts = list(_scripts)
- if check_all:
- # all possible paths
- base_paths = tuple(_os.path.join(resource_path(res), "scripts")
- for res in ('LOCAL', 'USER', 'SYSTEM'))
- else:
- # only paths blender uses
- base_paths = _bpy_script_paths()
+ # Only paths Blender uses.
+ #
+ # Needed this is needed even when 'check_all' is enabled,
+ # so the 'BLENDER_SYSTEM_SCRIPTS' environment variable will be used.
+ base_paths = _bpy_script_paths()
- for path in base_paths + (script_path_user(), script_path_pref()):
+ if check_all:
+ # All possible paths, no duplicates, keep order.
+ base_paths = (
+ *(path for path in (_os.path.join(resource_path(res), "scripts")
+ for res in ('LOCAL', 'USER', 'SYSTEM')) if path not in base_paths),
+ *base_paths,
+ )
+
+ for path in (*base_paths, script_path_user(), script_path_pref()):
if path:
path = _os.path.normpath(path)
if path not in scripts and _os.path.isdir(path):
More information about the Bf-blender-cvs
mailing list