diff options
Diffstat (limited to 'release/scripts/modules/bpy')
-rw-r--r-- | release/scripts/modules/bpy/utils/__init__.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py index 04aaa7bd69d..879275619ce 100644 --- a/release/scripts/modules/bpy/utils/__init__.py +++ b/release/scripts/modules/bpy/utils/__init__.py @@ -456,6 +456,27 @@ def preset_paths(subdir): return dirs +def is_path_builtin(path): + """ + Returns True if the path in question in one of the built in paths used by blender. + + :arg path: Path you want to check if it is in the built in settings directory + """ + search_path = _os.path.abspath(path) + user_path = resource_path('USER') + + for res in ('SYSTEM', 'LOCAL'): + parent_path = resource_path(res) + if not parent_path or parent_path == user_path: + # Make sure that the current path is not empty string and that it is + # not the same as the user config path. IE "~/.config/blender" on linux + # This can happen on portable installs. + continue + + if _os.path.samefile(_os.path.commonpath([parent_path]), _os.path.commonpath([parent_path, path])): + return True + + return False def smpte_from_seconds(time, fps=None, fps_base=None): """ |