From 0e9de7753c5dbc201046d6159444188d18d51b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Wed, 14 Mar 2018 12:50:27 +0100 Subject: [PATCH] Allow Packer to be used as context manager + test for rewriting img seqs --- blender_asset_tracer/pack/__init__.py | 6 +++++ .../subdir/image_sequence_dir_up.blend | Bin 0 -> 223216 bytes tests/test_blendfile_loading.py | 1 - tests/test_pack.py | 21 ++++++++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tests/blendfiles/subdir/image_sequence_dir_up.blend diff --git a/blender_asset_tracer/pack/__init__.py b/blender_asset_tracer/pack/__init__.py index 829728d..77d45e7 100644 --- a/blender_asset_tracer/pack/__init__.py +++ b/blender_asset_tracer/pack/__init__.py @@ -83,6 +83,12 @@ class Packer: """Clean up any temporary files.""" self._tmpdir.cleanup() + def __enter__(self) -> 'Packer': + return self + + def __exit__(self, exc_type, exc_val, exc_tb) -> None: + self.close() + def strategise(self) -> None: """Determine what to do with the assets. diff --git a/tests/blendfiles/subdir/image_sequence_dir_up.blend b/tests/blendfiles/subdir/image_sequence_dir_up.blend new file mode 100644 index 0000000000000000000000000000000000000000..d69422f9fcd01b464c763a7a474651c96acbb96e GIT binary patch literal 223216 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 TJWXf%TnyTFX_G>@T)+PVMmo(? literal 0 HcmV?d00001 diff --git a/tests/test_blendfile_loading.py b/tests/test_blendfile_loading.py index c892021..74c65fb 100644 --- a/tests/test_blendfile_loading.py +++ b/tests/test_blendfile_loading.py @@ -184,7 +184,6 @@ class PointerTest(AbstractBlendFileTest): seq = ed.get_pointer((b'seqbase', b'first')) - # This is very clear to me: seq.refine_type(b'Sequence') self.assertEqual(b'SQBlack', seq[b'name']) self.assertEqual(28, seq[b'type']) diff --git a/tests/test_pack.py b/tests/test_pack.py index eba962a..02b78ad 100644 --- a/tests/test_pack.py +++ b/tests/test_pack.py @@ -167,6 +167,27 @@ class PackTest(AbstractPackTest): return infile, packer + def test_rewrite_sequence(self): + ppath = self.blendfiles / 'subdir' + infile = ppath / 'image_sequence_dir_up.blend' + + with pack.Packer(infile, ppath, self.tpath) as packer: + packer.strategise() + packer.execute() + + bf = blendfile.open_cached(self.tpath / infile.name, assert_cached=False) + scene = bf.code_index[b'SC'][0] + ed = scene.get_pointer(b'ed') + seq = ed.get_pointer((b'seqbase', b'first')) + seq_strip = seq.get_pointer(b'strip') + + as_bytes = str((self.blendfiles / 'imgseq').absolute()).encode() + relpath = b'//_outside_project%b' % as_bytes + + # The image sequence base path should be rewritten. + self.assertEqual(b'SQ000210.png', seq[b'name']) + self.assertEqual(relpath, seq_strip[b'dir']) + def test_noop(self): ppath = self.blendfiles / 'subdir' infile = ppath / 'doubly_linked_up.blend'