@@ -268,78 +268,12 @@ def _read_xml(self):
268268 self .geometries = Geometries ()
269269 geometry_collect = self ._root .find ("Geometries" )
270270 if geometry_collect is not None :
271- for i in geometry_collect .findall ("Geometry" ):
272- self .geometries .append (
273- Geometry (xml_node = i , xml_parent = geometry_collect )
274- )
275- for i in geometry_collect .findall ("Axis" ):
276- self .geometries .append (
277- GeometryAxis (xml_node = i , xml_parent = geometry_collect )
278- )
279- for i in geometry_collect .findall ("FilterBeam" ):
280- self .geometries .append (
281- GeometryFilterBeam (xml_node = i , xml_parent = geometry_collect )
282- )
283- for i in geometry_collect .findall ("FilterColor" ):
284- self .geometries .append (
285- GeometryFilterColor (xml_node = i , xml_parent = geometry_collect )
286- )
287- for i in geometry_collect .findall ("FilterGobo" ):
288- self .geometries .append (
289- GeometryFilterGobo (xml_node = i , xml_parent = geometry_collect )
290- )
291- for i in geometry_collect .findall ("FilterShaper" ):
292- self .geometries .append (
293- GeometryFilterShaper (xml_node = i , xml_parent = geometry_collect )
294- )
295- for i in geometry_collect .findall ("MediaServerMaster" ):
296- self .geometries .append (
297- GeometryMediaServerMaster (xml_node = i , xml_parent = geometry_collect )
298- )
299- for i in geometry_collect .findall ("MediaServerLayer" ):
300- self .geometries .append (
301- GeometryMediaServerLayer (xml_node = i , xml_parent = geometry_collect )
302- )
303- for i in geometry_collect .findall ("MediaServerCamera" ):
304- self .geometries .append (
305- GeometryMediaServerCamera (xml_node = i , xml_parent = geometry_collect )
306- )
307- for i in geometry_collect .findall ("Inventory" ):
308- self .geometries .append (
309- GeometryInventory (xml_node = i , xml_parent = geometry_collect )
310- )
311- for i in geometry_collect .findall ("Beam" ):
312- self .geometries .append (
313- GeometryBeam (xml_node = i , xml_parent = geometry_collect )
314- )
315- for i in geometry_collect .findall ("WiringObject" ):
316- self .geometries .append (
317- GeometryWiringObject (xml_node = i , xml_parent = geometry_collect )
318- )
319- for i in geometry_collect .findall ("GeometryReference" ):
320- self .geometries .append (
321- GeometryReference (xml_node = i , xml_parent = geometry_collect )
322- )
323- for i in geometry_collect .findall ("Laser" ):
324- self .geometries .append (
325- GeometryLaser (xml_node = i , xml_parent = geometry_collect )
326- )
327- for i in geometry_collect .findall ("Support" ):
328- self .geometries .append (
329- GeometrySupport (xml_node = i , xml_parent = geometry_collect )
330- )
331- for i in geometry_collect .findall ("Structure" ):
332- self .geometries .append (
333- GeometryStructure (xml_node = i , xml_parent = geometry_collect )
334- )
335- for i in geometry_collect .findall ("Display" ):
336- self .geometries .append (
337- GeometryDisplay (xml_node = i , xml_parent = geometry_collect )
338- )
339- for i in geometry_collect .findall ("Magnet" ):
340- self .geometries .append (
341- GeometryMagnet (xml_node = i , xml_parent = geometry_collect )
342- )
271+ for geometry_node in list (geometry_collect ):
272+ cls = TAG_TO_GEOMETRY_CLASS .get (geometry_node .tag )
273+ if cls :
274+ self .geometries .append (
275+ cls (xml_node = geometry_node , xml_parent = geometry_collect )
276+ )
343277
344278 dmx_mode_collect = self ._root .find ("DMXModes" )
345279 if dmx_mode_collect is not None :
0 commit comments