refector (baby steps)

This commit is contained in:
2014-12-03 17:54:45 +01:00
parent 4880615660
commit 7d7045060c
2 changed files with 30 additions and 29 deletions

View File

@@ -518,36 +518,36 @@ class bam_commands:
return b'//' + os.path.relpath(f[3:], proj_base_b) return b'//' + os.path.relpath(f[3:], proj_base_b)
return None return None
def remap_file(f_rel, f_abs):
f_abs_remap = os.path.join(basedir_temp, f_rel)
dir_remap = os.path.dirname(f_abs_remap)
os.makedirs(dir_remap, exist_ok=True)
# final location in the project
f_rel_in_proj = paths_remap.get(f_rel)
if f_rel_in_proj is None:
if paths_remap_relbase:
f_rel_in_proj = os.path.join(paths_remap_relbase, f_rel)
else:
f_rel_in_proj = f_rel
proj_base_b = os.path.dirname(f_rel_in_proj).encode("utf-8")
import blendfile_pack_restore
blendfile_pack_restore.blendfile_remap(
f_abs.encode('utf-8'),
dir_remap.encode('utf-8'),
deps_remap_cb=remap_cb,
deps_remap_cb_userdata=proj_base_b,
)
return f_abs_remap
for f_rel, f_abs in list(paths_modified.items()): for f_rel, f_abs in list(paths_modified.items()):
# we may want to be more clever here f_abs_remap = remap_file(f_rel, f_abs)
if os.path.exists(f_abs_remap):
paths_modified[f_rel] = f_abs_remap
if 1:
f_abs_remap = os.path.join(basedir_temp, f_rel)
dir_remap = os.path.dirname(f_abs_remap)
os.makedirs(dir_remap, exist_ok=True)
# final location in the project """
f_rel_in_proj = paths_remap.get(f_rel)
if f_rel_in_proj is None:
if paths_remap_relbase:
f_rel_in_proj = os.path.join(paths_remap_relbase, f_rel)
else:
f_rel_in_proj = f_rel
proj_base_b = os.path.dirname(f_rel_in_proj).encode("utf-8")
import blendfile_pack_restore
blendfile_pack_restore.blendfile_remap(
f_abs.encode('utf-8'),
dir_remap.encode('utf-8'),
deps_remap_cb=remap_cb,
deps_remap_cb_userdata=proj_base_b,
)
if os.path.exists(f_abs_remap):
f_abs = f_abs_remap
paths_modified[f_rel] = f_abs
else:
deps = deps_remap.get(f_rel) deps = deps_remap.get(f_rel)
if deps: if deps:
# ---- # ----
@@ -565,6 +565,7 @@ class bam_commands:
if os.path.exists(f_abs_remap): if os.path.exists(f_abs_remap):
f_abs = f_abs_remap f_abs = f_abs_remap
paths_modified[f_rel] = f_abs paths_modified[f_rel] = f_abs
"""
# ------------------------- # -------------------------

View File

@@ -1162,7 +1162,7 @@ class BamRelativeAbsoluteTest(BamSessionTestCase):
stdout, stderr = bam_run(["checkout", blendfile, "--output", session_path], proj_path) stdout, stderr = bam_run(["checkout", blendfile, "--output", session_path], proj_path)
self.assertEqual("", stderr) self.assertEqual("", stderr)
_check() _check()
_dbg_dump_path(session_path) # _dbg_dump_path(session_path)
def test_absolute_relative_from_blendfiles(self): def test_absolute_relative_from_blendfiles(self):
""" """
@@ -1257,7 +1257,7 @@ class BamRelativeAbsoluteTest(BamSessionTestCase):
# XXX (end hack!) # XXX (end hack!)
_dbg_dump_path(session_path) # _dbg_dump_path(session_path)
stdout, stderr = bam_run(["commit", "-m", "new house to remap"], session_path) stdout, stderr = bam_run(["commit", "-m", "new house to remap"], session_path)
self.assertEqual("", stderr) self.assertEqual("", stderr)