diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-06-09 19:19:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-06-09 19:19:38 +0300 |
commit | c82bb571dcbbc3a09e941d01688d2bfd53413e91 (patch) | |
tree | c2ce66434d9cc4da311b4e7082485fde71889337 /io_blend_utils | |
parent | aee180d6e07e404a195bcad0d5d698c60d5adb90 (diff) |
minor edits to blendfile
Diffstat (limited to 'io_blend_utils')
-rw-r--r-- | io_blend_utils/blend/blendfile.py | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/io_blend_utils/blend/blendfile.py b/io_blend_utils/blend/blendfile.py index 0739a1bc..5b499591 100644 --- a/io_blend_utils/blend/blendfile.py +++ b/io_blend_utils/blend/blendfile.py @@ -19,10 +19,10 @@ # (c) 2009, At Mind B.V. - Jeroen Bakker # (c) 2014, Blender Foundation - Campbell Barton +import gzip +import logging import os import struct -import logging -import gzip import tempfile log = logging.getLogger("blendfile") @@ -79,9 +79,8 @@ def open_blend(filename, access="rb"): raise Exception("filetype not a blend or a gzip blend") -def align(offset, by): - n = by - 1 - return (offset + n) & ~n +def pad_up_4(offset): + return (offset + 3) & ~3 # ----------------------------------------------------------------------------- @@ -168,10 +167,9 @@ class BlendFile: Close the blend file writes the blend file to disk if changes has happened """ - if not self.is_modified: - self.handle.close() - else: - handle = self.handle + handle = self.handle + + if self.is_modified: if self.is_compressed: log.debug("close compressed blend file") handle.seek(os.SEEK_SET, 0) @@ -184,7 +182,7 @@ class BlendFile: fs.close() log.debug("compressing finished") - handle.close() + handle.close() def ensure_subtype_smaller(self, sdna_index_curr, sdna_index_next): # never refine to a smaller type @@ -223,7 +221,7 @@ class BlendFile: names.append(DNAName(tName)) del names_len - offset = align(offset, 4) + offset = pad_up_4(offset) offset += 4 types_len = intstruct.unpack_from(data, offset)[0] offset += 4 @@ -234,7 +232,7 @@ class BlendFile: types.append(DNAStruct(dna_type_id)) offset += len(dna_type_id) + 1 - offset = align(offset, 4) + offset = pad_up_4(offset) offset += 4 log.debug("building #%d type-lengths" % types_len) for i in range(types_len): @@ -243,7 +241,7 @@ class BlendFile: types[i].size = tLen del types_len - offset = align(offset, 4) + offset = pad_up_4(offset) offset += 4 structs_len = intstruct.unpack_from(data, offset)[0] |