- bpy.path.abspath(), added optional library argument since any paths from linked datablocks are relative to this, not the blend files path, this saves kludgy path code wherever libraries may be used.

- Image "Edit Externally" operator can now edit relative library images.

also minor edits to navmesh.
This commit is contained in:
2011-10-11 04:09:11 +00:00
parent e8bcccae33
commit fa5275cdfa
4 changed files with 18 additions and 13 deletions

View File

@@ -40,7 +40,7 @@ import bpy as _bpy
import os as _os
def abspath(path, start=None):
def abspath(path, start=None, library=None):
"""
Returns the absolute path relative to the current blend file
using the "//" prefix.
@@ -48,8 +48,13 @@ def abspath(path, start=None):
:arg start: Relative to this path,
when not set the current filename is used.
:type start: string
:arg library: The library this path is from. This is only included for
convenience, when the library is not None its path replaces *start*.
:type library: :class:`bpy.types.Library`
"""
if path.startswith("//"):
if library:
start = abspath(_os.path.dirname(library.filepath))
return _os.path.join(_os.path.dirname(_bpy.data.filepath)
if start is None else start,
path[2:],