diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-08-17 05:37:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-08-17 05:37:38 +0300 |
commit | 709a31da93c9677ec6ebb17e780014f6ba8016ff (patch) | |
tree | ba132fabec470a13fe34fc8c14e3bd107de542dc /release/bin/blender-thumbnailer.py | |
parent | 0c420a2e496963c3f2730333a2c09f788efba39b (diff) |
Simplify thumbnail blend parser
No need to convert the BHead code to an int, just compare the bytes.
Diffstat (limited to 'release/bin/blender-thumbnailer.py')
-rwxr-xr-x | release/bin/blender-thumbnailer.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/release/bin/blender-thumbnailer.py b/release/bin/blender-thumbnailer.py index d3b31d63fad..fe5d462bba9 100755 --- a/release/bin/blender-thumbnailer.py +++ b/release/bin/blender-thumbnailer.py @@ -88,9 +88,8 @@ def blend_extract_thumb(path): import os open_wrapper = open_wrapper_get() - # def MAKE_ID(tag): ord(tag[0])<<24 | ord(tag[1])<<16 | ord(tag[2])<<8 | ord(tag[3]) - REND = 1145980242 # MAKE_ID(b'REND') - TEST = 1414743380 # MAKE_ID(b'TEST') + REND = b'REND' + TEST = b'TEST' blendfile = open_wrapper(path, 'rb') @@ -116,7 +115,8 @@ def blend_extract_thumb(path): return None, 0, 0 sizeof_bhead = 24 if is_64_bit else 20 - int_endian_pair = '>ii' if is_big_endian else '<ii' + int_endian = '>i' if is_big_endian else '<i' + int_endian_pair = int_endian + 'i' while True: bhead = blendfile.read(sizeof_bhead) @@ -124,7 +124,8 @@ def blend_extract_thumb(path): if len(bhead) < sizeof_bhead: return None, 0, 0 - code, length = struct.unpack(int_endian_pair, bhead[0:8]) # 8 == sizeof(int) * 2 + code = bhead[:4] + length = struct.unpack(int_endian, bhead[4:8])[0] # 4 == sizeof(int) if code == REND: blendfile.seek(length, os.SEEK_CUR) |