import svgwrite class XML2SVG(svgwrite.container.SVG): def __init__(self, xml, insert=None, size=None, **extra): self.xml = xml super().__init__(**extra) def get_xml(self): xml = self.xml for attribute, value in sorted(self.attribs.items()): # filter 'None' values if value is not None: value = self.value_to_string(value) if value: # just add not empty attributes xml.set(attribute, value) for element in self.elements: xml.append(element.get_xml()) return xml