Skip to content

Commit a11e3e9

Browse files
committed
Check if the xmlparser is actually avaliable
1 parent 4631225 commit a11e3e9

1 file changed

Lines changed: 26 additions & 25 deletions

File tree

io_scene_halo/global_functions/shader_generation/halo_3_shader.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -91,31 +91,16 @@ def generate_h3_shader_simple(mat, shader_path, asset_cache, report):
9191
args = [tool_path, xml_command, shader_path, xml_output]
9292
subprocess.call(args, cwd=tool_directory)
9393

94-
xmlp = ET.XMLParser(encoding="ISO-8859-10", recover=True)
95-
xml = ET.parse(xml_output, parser=xmlp)
96-
root = xml.getroot()
97-
bitmap_parameter = None
98-
bitmap_path = None
99-
for root_fields in root:
100-
if root_fields.attrib.get('name') == "parameters":
101-
for parameter_fields in root_fields:
102-
if parameter_fields.attrib.get('name') == "base_map":
103-
parameter_type_field = None
104-
bitmap_field = None
105-
for field in parameter_fields:
106-
if field.attrib.get('name') == "parameter type" and field.attrib.get('value') == "bitmap":
107-
parameter_type_field = field
108-
if field.attrib.get('name') == "bitmap":
109-
bitmap_field = field
110-
111-
if parameter_type_field is not None:
112-
bitmap_tag_path = os.path.join(tags_directory, "%s.%s" % (bitmap_field.attrib.get('value').rsplit(",", 1)[0], "bitmap"))
113-
if os.path.isfile(bitmap_tag_path):
114-
bitmap_parameter = parameter_fields
115-
break
116-
117-
else:
118-
if bitmap_parameter == None:
94+
if ET:
95+
xmlp = ET.XMLParser(encoding="ISO-8859-10", recover=True)
96+
xml = ET.parse(xml_output, parser=xmlp)
97+
root = xml.getroot()
98+
bitmap_parameter = None
99+
bitmap_path = None
100+
for root_fields in root:
101+
if root_fields.attrib.get('name') == "parameters":
102+
for parameter_fields in root_fields:
103+
if parameter_fields.attrib.get('name') == "base_map":
119104
parameter_type_field = None
120105
bitmap_field = None
121106
for field in parameter_fields:
@@ -128,6 +113,22 @@ def generate_h3_shader_simple(mat, shader_path, asset_cache, report):
128113
bitmap_tag_path = os.path.join(tags_directory, "%s.%s" % (bitmap_field.attrib.get('value').rsplit(",", 1)[0], "bitmap"))
129114
if os.path.isfile(bitmap_tag_path):
130115
bitmap_parameter = parameter_fields
116+
break
117+
118+
else:
119+
if bitmap_parameter == None:
120+
parameter_type_field = None
121+
bitmap_field = None
122+
for field in parameter_fields:
123+
if field.attrib.get('name') == "parameter type" and field.attrib.get('value') == "bitmap":
124+
parameter_type_field = field
125+
if field.attrib.get('name') == "bitmap":
126+
bitmap_field = field
127+
128+
if parameter_type_field is not None:
129+
bitmap_tag_path = os.path.join(tags_directory, "%s.%s" % (bitmap_field.attrib.get('value').rsplit(",", 1)[0], "bitmap"))
130+
if os.path.isfile(bitmap_tag_path):
131+
bitmap_parameter = parameter_fields
131132

132133
if bitmap_parameter is not None:
133134
for field in bitmap_parameter:

0 commit comments

Comments
 (0)