Cleanup: make the blend file header private
This was split out as part of a refactor but isn't intended to be a new public module for other scripts to use. Ref !141088
This commit is contained in:
@@ -10,7 +10,7 @@ __all__ = (
|
||||
"read_blend_rend_chunk",
|
||||
)
|
||||
|
||||
import blendfile_header
|
||||
import _blendfile_header
|
||||
|
||||
|
||||
class RawBlendFileReader:
|
||||
@@ -77,8 +77,8 @@ def _read_blend_rend_chunk_from_file(blendfile, filepath):
|
||||
from os import SEEK_CUR
|
||||
|
||||
try:
|
||||
blender_header = blendfile_header.BlendFileHeader(blendfile)
|
||||
except blendfile_header.BlendHeaderError:
|
||||
blender_header = _blendfile_header.BlendFileHeader(blendfile)
|
||||
except _blendfile_header.BlendHeaderError:
|
||||
sys.stderr.write("Not a blend file: {:s}\n".format(filepath))
|
||||
return []
|
||||
|
||||
@@ -87,7 +87,7 @@ def _read_blend_rend_chunk_from_file(blendfile, filepath):
|
||||
endian_str = b'<' if blender_header.is_little_endian else b'>'
|
||||
|
||||
block_header_struct = blender_header.create_block_header_struct()
|
||||
while bhead := blendfile_header.BlockHeader(blendfile, block_header_struct):
|
||||
while bhead := _blendfile_header.BlockHeader(blendfile, block_header_struct):
|
||||
if bhead.code == b'ENDB':
|
||||
break
|
||||
remaining_bytes = bhead.size
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import blendfile_header
|
||||
import _blendfile_header # Not part of the Public API, allow use for testing.
|
||||
import blend_render_info
|
||||
import bpy
|
||||
import pathlib
|
||||
@@ -26,7 +26,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
def test_small_bhead_8(self):
|
||||
path = self.testdir / "SmallBHead8.blend"
|
||||
with gzip.open(path, "rb") as f:
|
||||
header = blendfile_header.BlendFileHeader(f)
|
||||
header = _blendfile_header.BlendFileHeader(f)
|
||||
self.assertEqual(header.magic, b"BLENDER")
|
||||
self.assertEqual(header.file_format_version, 0)
|
||||
self.assertEqual(header.pointer_size, 8)
|
||||
@@ -34,7 +34,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
self.assertEqual(header.version, 300)
|
||||
|
||||
header_struct = header.create_block_header_struct()
|
||||
self.assertIs(header_struct.type, blendfile_header.SmallBHead8)
|
||||
self.assertIs(header_struct.type, _blendfile_header.SmallBHead8)
|
||||
|
||||
buffer = f.read(header_struct.struct.size)
|
||||
block = header_struct.parse(buffer)
|
||||
@@ -49,7 +49,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
def test_large_bhead_8(self):
|
||||
path = self.testdir / "LargeBHead8.blend"
|
||||
with open(path, "rb") as f:
|
||||
header = blendfile_header.BlendFileHeader(f)
|
||||
header = _blendfile_header.BlendFileHeader(f)
|
||||
self.assertEqual(header.magic, b"BLENDER")
|
||||
self.assertEqual(header.file_format_version, 1)
|
||||
self.assertEqual(header.pointer_size, 8)
|
||||
@@ -57,7 +57,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
self.assertEqual(header.version, 500)
|
||||
|
||||
header_struct = header.create_block_header_struct()
|
||||
self.assertIs(header_struct.type, blendfile_header.LargeBHead8)
|
||||
self.assertIs(header_struct.type, _blendfile_header.LargeBHead8)
|
||||
|
||||
buffer = f.read(header_struct.struct.size)
|
||||
block = header_struct.parse(buffer)
|
||||
@@ -72,7 +72,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
def test_bhead_4(self):
|
||||
path = self.testdir / "BHead4.blend"
|
||||
with gzip.open(path, "rb") as f:
|
||||
header = blendfile_header.BlendFileHeader(f)
|
||||
header = _blendfile_header.BlendFileHeader(f)
|
||||
self.assertEqual(header.magic, b"BLENDER")
|
||||
self.assertEqual(header.file_format_version, 0)
|
||||
self.assertEqual(header.pointer_size, 4)
|
||||
@@ -80,7 +80,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
self.assertEqual(header.version, 260)
|
||||
|
||||
header_struct = header.create_block_header_struct()
|
||||
self.assertIs(header_struct.type, blendfile_header.BHead4)
|
||||
self.assertIs(header_struct.type, _blendfile_header.BHead4)
|
||||
|
||||
buffer = f.read(header_struct.struct.size)
|
||||
block = header_struct.parse(buffer)
|
||||
@@ -95,7 +95,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
def test_bhead_4_big_endian(self):
|
||||
path = self.testdir / "BHead4_big_endian.blend"
|
||||
with gzip.open(path, "rb") as f:
|
||||
header = blendfile_header.BlendFileHeader(f)
|
||||
header = _blendfile_header.BlendFileHeader(f)
|
||||
self.assertEqual(header.magic, b"BLENDER")
|
||||
self.assertEqual(header.file_format_version, 0)
|
||||
self.assertEqual(header.pointer_size, 4)
|
||||
@@ -103,7 +103,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
self.assertEqual(header.version, 170)
|
||||
|
||||
header_struct = header.create_block_header_struct()
|
||||
self.assertIs(header_struct.type, blendfile_header.BHead4)
|
||||
self.assertIs(header_struct.type, _blendfile_header.BHead4)
|
||||
|
||||
buffer = f.read(header_struct.struct.size)
|
||||
block = header_struct.parse(buffer)
|
||||
@@ -131,7 +131,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
version_int = version[0] * 100 + version[1]
|
||||
|
||||
with open(path, "rb") as f:
|
||||
header = blendfile_header.BlendFileHeader(f)
|
||||
header = _blendfile_header.BlendFileHeader(f)
|
||||
self.assertEqual(header.magic, b"BLENDER")
|
||||
self.assertEqual(header.file_format_version, 1)
|
||||
self.assertEqual(header.pointer_size, 8)
|
||||
@@ -139,7 +139,7 @@ class BlendFileHeaderTest(unittest.TestCase):
|
||||
self.assertEqual(header.version, version_int)
|
||||
|
||||
header_struct = header.create_block_header_struct()
|
||||
self.assertIs(header_struct.type, blendfile_header.LargeBHead8)
|
||||
self.assertIs(header_struct.type, _blendfile_header.LargeBHead8)
|
||||
|
||||
buffer = f.read(header_struct.struct.size)
|
||||
block = header_struct.parse(buffer)
|
||||
|
||||
@@ -22,7 +22,7 @@ import os
|
||||
import sys
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "scripts", "modules"))
|
||||
|
||||
import blendfile_header
|
||||
import _blendfile_header
|
||||
import gzip
|
||||
import logging
|
||||
import struct
|
||||
@@ -57,7 +57,7 @@ class BlendFile:
|
||||
"filepath_orig",
|
||||
# BlendFileHeader
|
||||
"header",
|
||||
# blendfile_header.BlockHeaderStruct
|
||||
# _blendfile_header.BlockHeaderStruct
|
||||
"block_header_struct",
|
||||
# BlendFileBlock
|
||||
"blocks",
|
||||
@@ -245,7 +245,7 @@ class BlendFile:
|
||||
return structs, sdna_index_from_id
|
||||
|
||||
|
||||
class BlendFileBlock(blendfile_header.BlockHeader):
|
||||
class BlendFileBlock(_blendfile_header.BlockHeader):
|
||||
"""
|
||||
Instance of a struct.
|
||||
"""
|
||||
@@ -703,7 +703,7 @@ class BlendFileBlockRaw:
|
||||
# Read Magic
|
||||
|
||||
|
||||
class BlendFileHeader(blendfile_header.BlendFileHeader):
|
||||
class BlendFileHeader(_blendfile_header.BlendFileHeader):
|
||||
endian_index: int
|
||||
endian_str: bytes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user