xml2svg.py 611 B

123456789101112131415161718192021
  1. import svgwrite
  2. class XML2SVG(svgwrite.container.SVG):
  3. def __init__(self, xml, insert=None, size=None, **extra):
  4. self.xml = xml
  5. super().__init__(**extra)
  6. def get_xml(self):
  7. xml = self.xml
  8. for attribute, value in sorted(self.attribs.items()):
  9. # filter 'None' values
  10. if value is not None:
  11. value = self.value_to_string(value)
  12. if value: # just add not empty attributes
  13. xml.set(attribute, value)
  14. for element in self.elements:
  15. xml.append(element.get_xml())
  16. return xml