[Bf-extensions-cvs] [c82bb57] master: minor edits to blendfile

Campbell Barton noreply at git.blender.org
Thu Jun 9 18:17:45 CEST 2016


Commit: c82bb571dcbbc3a09e941d01688d2bfd53413e91
Author: Campbell Barton
Date:   Fri Jun 10 02:19:38 2016 +1000
Branches: master
https://developer.blender.org/rBAc82bb571dcbbc3a09e941d01688d2bfd53413e91

minor edits to blendfile

===================================================================

M	io_blend_utils/blend/blendfile.py

===================================================================

diff --git a/io_blend_utils/blend/blendfile.py b/io_blend_utils/blend/blendfile.py
index 0739a1b..5b49959 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]



More information about the Bf-extensions-cvs mailing list