name blendfile use more clearly
This commit is contained in:
26
blendfile.py
26
blendfile.py
@@ -65,10 +65,10 @@ def open_blend(filename, access="rb"):
|
|||||||
if magic == b"BLENDER":
|
if magic == b"BLENDER":
|
||||||
log.debug("normal blendfile detected")
|
log.debug("normal blendfile detected")
|
||||||
handle.seek(0, os.SEEK_SET)
|
handle.seek(0, os.SEEK_SET)
|
||||||
res = BlendFile(handle)
|
bfile = BlendFile(handle)
|
||||||
res.is_compressed = False
|
bfile.is_compressed = False
|
||||||
res.filepath_orig = filename
|
bfile.filepath_orig = filename
|
||||||
return res
|
return bfile
|
||||||
else:
|
else:
|
||||||
log.debug("gzip blendfile detected?")
|
log.debug("gzip blendfile detected?")
|
||||||
handle.close()
|
handle.close()
|
||||||
@@ -83,9 +83,9 @@ def open_blend(filename, access="rb"):
|
|||||||
fs.close()
|
fs.close()
|
||||||
log.debug("resetting decompressed file")
|
log.debug("resetting decompressed file")
|
||||||
handle.seek(os.SEEK_SET, 0)
|
handle.seek(os.SEEK_SET, 0)
|
||||||
res = BlendFile(handle)
|
bfile = BlendFile(handle)
|
||||||
res.is_compressed = True
|
bfile.is_compressed = True
|
||||||
res.filepath_orig = filename
|
bfile.filepath_orig = filename
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ class BlendFileBlock:
|
|||||||
Instance of a struct.
|
Instance of a struct.
|
||||||
"""
|
"""
|
||||||
__slots__ = (
|
__slots__ = (
|
||||||
# file handle
|
# BlendFile
|
||||||
"file",
|
"file",
|
||||||
"code",
|
"code",
|
||||||
"size",
|
"size",
|
||||||
@@ -203,18 +203,18 @@ class BlendFileBlock:
|
|||||||
"count",
|
"count",
|
||||||
"file_offset",
|
"file_offset",
|
||||||
)
|
)
|
||||||
def __init__(self, handle, afile):
|
def __init__(self, handle, bfile):
|
||||||
self.file = afile
|
self.file = bfile
|
||||||
header = afile.header
|
header = bfile.header
|
||||||
|
|
||||||
data = handle.read(afile.block_header_struct.size)
|
data = handle.read(bfile.block_header_struct.size)
|
||||||
# header size can be 8, 20, or 24 bytes long
|
# header size can be 8, 20, or 24 bytes long
|
||||||
# 8: old blend files ENDB block (exception)
|
# 8: old blend files ENDB block (exception)
|
||||||
# 20: normal headers 32 bit platform
|
# 20: normal headers 32 bit platform
|
||||||
# 24: normal headers 64 bit platform
|
# 24: normal headers 64 bit platform
|
||||||
if len(data) > 15:
|
if len(data) > 15:
|
||||||
|
|
||||||
blockheader = afile.block_header_struct.unpack(data)
|
blockheader = bfile.block_header_struct.unpack(data)
|
||||||
self.code = blockheader[0].partition(b'\0')[0]
|
self.code = blockheader[0].partition(b'\0')[0]
|
||||||
if self.code != b'ENDB':
|
if self.code != b'ENDB':
|
||||||
self.size = blockheader[1]
|
self.size = blockheader[1]
|
||||||
|
Reference in New Issue
Block a user