Unify behaviour of block[path] and block.get(path)

This commit is contained in:
Sybren A. Stüvel 2018-02-26 18:14:23 +01:00
parent 127f357e49
commit a56e985cdc
2 changed files with 5 additions and 5 deletions

View File

@ -384,7 +384,7 @@ class BlendFileBlock:
path: dna.FieldPath, path: dna.FieldPath,
default=..., default=...,
null_terminated=True, null_terminated=True,
as_str=True, as_str=False,
base_index=0, base_index=0,
) -> typing.Any: ) -> typing.Any:
"""Read a property and return the value. """Read a property and return the value.
@ -507,7 +507,7 @@ class BlendFileBlock:
raise exceptions.SegmentationFault('address does not exist', path, result) raise exceptions.SegmentationFault('address does not exist', path, result)
def __getitem__(self, path: dna.FieldPath): def __getitem__(self, path: dna.FieldPath):
return self.get(path, as_str=False) return self.get(path)
def __setitem__(self, item, value): def __setitem__(self, item, value):
self.set(item, value) self.set(item, value)

View File

@ -32,7 +32,7 @@ class BlendFileBlockTest(AbstractBlendFileTest):
self.assertEqual([2.0, 3.0, 5.0], loc) self.assertEqual([2.0, 3.0, 5.0], loc)
# Try getting a subproperty. # Try getting a subproperty.
name = ob.get((b'id', b'name')) name = ob.get((b'id', b'name'), as_str=True)
self.assertEqual('OBümlaut', name) self.assertEqual('OBümlaut', name)
loc_z = ob.get((b'loc', 2)) loc_z = ob.get((b'loc', 2))
@ -41,7 +41,7 @@ class BlendFileBlockTest(AbstractBlendFileTest):
# Try following a pointer. # Try following a pointer.
mesh_ptr = ob.get(b'data') mesh_ptr = ob.get(b'data')
mesh = self.bf.block_from_addr[mesh_ptr] mesh = self.bf.block_from_addr[mesh_ptr]
mname = mesh.get((b'id', b'name')) mname = mesh.get((b'id', b'name'), as_str=True)
self.assertEqual('MECube³', mname) self.assertEqual('MECube³', mname)
def test_get_recursive_iter(self): def test_get_recursive_iter(self):
@ -222,7 +222,7 @@ class LoadCompressedTest(AbstractBlendFileTest):
self.assertTrue(self.bf.is_compressed) self.assertTrue(self.bf.is_compressed)
ob = self.bf.code_index[b'OB'][0] ob = self.bf.code_index[b'OB'][0]
name = ob.get((b'id', b'name')) name = ob.get((b'id', b'name'), as_str=True)
self.assertEqual('OBümlaut', name) self.assertEqual('OBümlaut', name)
def test_as_context(self): def test_as_context(self):