[Bf-blender-cvs] [709a31d] master: Simplify thumbnail blend parser
Campbell Barton
noreply at git.blender.org
Mon Aug 17 04:49:34 CEST 2015
Commit: 709a31da93c9677ec6ebb17e780014f6ba8016ff
Author: Campbell Barton
Date: Mon Aug 17 12:37:38 2015 +1000
Branches: master
https://developer.blender.org/rB709a31da93c9677ec6ebb17e780014f6ba8016ff
Simplify thumbnail blend parser
No need to convert the BHead code to an int, just compare the bytes.
===================================================================
M release/bin/blender-thumbnailer.py
===================================================================
diff --git a/release/bin/blender-thumbnailer.py b/release/bin/blender-thumbnailer.py
index d3b31d6..fe5d462 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)
More information about the Bf-blender-cvs
mailing list