Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2013-08-18 19:17:33 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2013-08-18 19:17:33 +0400
commita567dd20c0a1ecfd690af40474640b8a3d9afa50 (patch)
treee88f4d835a411ebedd3a0db8bbf0085d61fb3dec /release/scripts/modules
parentc5e14f62a673507a6298bf9f676f6de11d193f07 (diff)
More "relpath" try/except protection...
Diffstat (limited to 'release/scripts/modules')
-rw-r--r--release/scripts/modules/bl_i18n_utils/bl_extract_messages.py15
-rw-r--r--release/scripts/modules/bl_i18n_utils/settings.py9
-rw-r--r--release/scripts/modules/bpy_extras/io_utils.py5
3 files changed, 22 insertions, 7 deletions
diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
index 3d00815b70e..e9ed9a8de5b 100644
--- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
+++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
@@ -410,9 +410,15 @@ def dump_py_messages_from_files(msgs, reports, files, settings):
def make_rel(path):
for rp in root_paths:
if path.startswith(rp):
- return os.path.relpath(path, rp)
+ try: # can't always find the relative path (between drive letters on windows)
+ return os.path.relpath(path, rp)
+ except ValueError:
+ return path
# Use binary's dir as fallback...
- return os.path.relpath(path, os.path.dirname(bpy.app.binary_path))
+ try: # can't always find the relative path (between drive letters on windows)
+ return os.path.relpath(path, os.path.dirname(bpy.app.binary_path))
+ except ValueError:
+ return path
# Helper function
def extract_strings_ex(node, is_split=False):
@@ -768,7 +774,10 @@ def dump_src_messages(msgs, reports, settings):
if os.path.splitext(fname)[1] not in settings.PYGETTEXT_ALLOWED_EXTS:
continue
path = os.path.join(root, fname)
- rel_path = os.path.relpath(path, settings.SOURCE_DIR)
+ try: # can't always find the relative path (between drive letters on windows)
+ rel_path = os.path.relpath(path, settings.SOURCE_DIR)
+ except ValueError:
+ rel_path = path
if rel_path in forbidden:
continue
elif rel_path not in forced:
diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py
index 001f044f1c4..e40b067f552 100644
--- a/release/scripts/modules/bl_i18n_utils/settings.py
+++ b/release/scripts/modules/bl_i18n_utils/settings.py
@@ -467,9 +467,12 @@ def _do_set(ref, path):
path = os.path.normpath(path)
# If given path is absolute, make it relative to current ref one (else we consider it is already the case!)
if os.path.isabs(path):
- return os.path.relpath(path, ref)
- else:
- return path
+ # can't always find the relative path (between drive letters on windows)
+ try:
+ return os.path.relpath(path, ref)
+ except ValueError:
+ pass
+ return path
def _gen_get_set_path(ref, name):
def _get(self):
diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py
index eeaa6408268..790233c40af 100644
--- a/release/scripts/modules/bpy_extras/io_utils.py
+++ b/release/scripts/modules/bpy_extras/io_utils.py
@@ -409,7 +409,10 @@ def path_reference(filepath,
if mode == 'ABSOLUTE':
return filepath_abs
elif mode == 'RELATIVE':
- return os.path.relpath(filepath_abs, base_dst)
+ try: # can't always find the relative path (between drive letters on windows)
+ return os.path.relpath(filepath_abs, base_dst)
+ except ValueError:
+ return filepath_abs
elif mode == 'STRIP':
return os.path.basename(filepath_abs)