Skip to content

Commit 4025d10

Browse files
committed
1.7.6 Object __getattr__ typetree fix
1 parent aa552dd commit 4025d10

3 files changed

Lines changed: 11 additions & 13 deletions

File tree

UnityPy/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "1.7.5"
1+
__version__ = "1.7.6"
22

33
from .environment import Environment
44

UnityPy/classes/Object.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -101,20 +101,18 @@ def _save(self, writer):
101101
# the data value is written back into the asset
102102
self.reader.data = writer.bytes
103103

104-
def __getattr__(self, item):
104+
def __getattr__(self, name):
105105
"""
106106
If item not found in __dict__, read type_tree and check if it is in there.
107107
"""
108-
if item == "type_tree" or self.type_tree == None:
108+
if name == "type_tree" or self.type_tree == None:
109109
old_pos = self.reader.Position
110-
return self.read_typetree()
111-
self.Reader.Position = old_pos
110+
self.read_typetree()
111+
self.reader.Position = old_pos
112+
if name == "type_tree":
113+
return self.type_tree
112114

113-
ret = getattr(self.type_tree, item, None)
114-
if ret:
115-
return ret
116-
else:
117-
raise KeyError()
115+
return getattr(self.type_tree, name)
118116

119117
def get(self, key, default=None):
120118
return getattr(self, key, default)

UnityPy/export/ShaderConverter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717

1818
def export_shader(m_Shader):
19-
if m_Shader.m_SubProgramBlob: # 5.3 - 5.4
19+
if hasattr(m_Shader, "m_SubProgramBlob"): # 5.3 - 5.4
2020
decompressedBytes = CompressionHelper.decompress_lz4(
2121
m_Shader.m_SubProgramBlob, m_Shader.decompressedSize)
2222

@@ -25,7 +25,7 @@ def export_shader(m_Shader):
2525

2626
return HEADER + program.Export(m_Shader.m_Script.decode("utf8"))
2727

28-
if m_Shader.compressedBlob: # 5.5 and up
28+
if hasattr(m_Shader, "compressedBlob"): # 5.5 and up
2929
return HEADER + ConvertSerializedShader(m_Shader)
3030

3131
return HEADER + m_Shader.m_Script.decode("utf8")
@@ -242,7 +242,7 @@ def ConvertSerializedTagMap(m_Tags, intent: int):
242242
for key, value in m_Tags.tags.items():
243243
sb.append("\"{0}\" = \"{1}\" ".format(key, value))
244244
sb.append("}\n")
245-
245+
246246
return "".join(sb)
247247

248248
def ConvertSerializedProperties(m_PropInfo):

0 commit comments

Comments
 (0)