[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38528] trunk/blender/release/scripts: added bpy.path.basename because "//" prefix breaks os.path.basename.
Campbell Barton
ideasman42 at gmail.com
Wed Jul 20 10:10:02 CEST 2011
Revision: 38528
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38528
Author: campbellbarton
Date: 2011-07-20 08:10:01 +0000 (Wed, 20 Jul 2011)
Log Message:
-----------
added bpy.path.basename because "//" prefix breaks os.path.basename.
Modified Paths:
--------------
trunk/blender/release/scripts/modules/bpy/path.py
trunk/blender/release/scripts/modules/bpy_extras/image_utils.py
trunk/blender/release/scripts/startup/bl_operators/image.py
Modified: trunk/blender/release/scripts/modules/bpy/path.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy/path.py 2011-07-20 06:41:51 UTC (rev 38527)
+++ trunk/blender/release/scripts/modules/bpy/path.py 2011-07-20 08:10:01 UTC (rev 38528)
@@ -117,7 +117,7 @@
"""
Returns the path stripped of directort and extension, ensured to be utf8 compatible.
"""
- return _os.path.splitext(_os.path.basename(name))[0].encode("utf8", "replace").decode("utf8")
+ return _os.path.splitext(basename(name))[0].encode("utf8", "replace").decode("utf8")
def resolve_ncase(path):
@@ -231,3 +231,12 @@
modules.append(("%s.%s" % (filename, mod_name), mod_path))
return modules
+
+
+def basename(path):
+ """
+ Equivalent to os.path.basename, but skips a "//" suffix.
+
+ Use for Windows compatibility.
+ """
+ return _os.path.basename(path[2:] if path.startswith("//") else path)
Modified: trunk/blender/release/scripts/modules/bpy_extras/image_utils.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy_extras/image_utils.py 2011-07-20 06:41:51 UTC (rev 38527)
+++ trunk/blender/release/scripts/modules/bpy_extras/image_utils.py 2011-07-20 08:10:01 UTC (rev 38528)
@@ -86,7 +86,9 @@
variants = [imagepath]
if dirname:
- variants += [os.path.join(dirname, imagepath), os.path.join(dirname, os.path.basename(imagepath))]
+ variants += [os.path.join(dirname, imagepath),
+ os.path.join(dirname, bpy.path.basename(imagepath)),
+ ]
for filepath_test in variants:
if ncase_cmp:
@@ -99,7 +101,7 @@
return _image_load(nfilepath)
if place_holder:
- image = bpy.data.images.new(os.path.basename(imagepath), 128, 128)
+ image = bpy.data.images.new(bpy.path.basename(imagepath), 128, 128)
# allow the path to be resolved later
image.filepath = imagepath
return image
Modified: trunk/blender/release/scripts/startup/bl_operators/image.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/image.py 2011-07-20 06:41:51 UTC (rev 38527)
+++ trunk/blender/release/scripts/startup/bl_operators/image.py 2011-07-20 08:10:01 UTC (rev 38528)
@@ -163,7 +163,7 @@
filepath_final = filepath + ("%.3d.%s" % (i, EXT))
i += 1
- image_new.name = os.path.basename(filepath_final)
+ image_new.name = bpy.path.basename(filepath_final)
ProjectEdit._proj_hack[0] = image_new.name
image_new.filepath_raw = filepath_final # TODO, filepath raw is crummy
More information about the Bf-blender-cvs
mailing list