Coverage for lib/lottie/exporters/svg.py: 62%
16 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-20 16:17 +0100
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-20 16:17 +0100
1from xml.dom import minidom
2from xml.etree import ElementTree
4from .base import exporter
5from ..parsers.baseporter import ExtraOption
6from ..parsers.svg.builder import to_svg
7from ..utils.file import open_file
10def _print_ugly_xml(dom, file):
11 return dom.write(file, "utf-8", True)
14def _print_pretty_xml(dom, file):
15 with open_file(file) as fp:
16 xmlstr = minidom.parseString(ElementTree.tostring(dom.getroot())).toprettyxml(indent=" ")
17 fp.write(xmlstr)
20@exporter("SVG", ["svg"], [
21 ExtraOption("animated", action="store_true", help="Export animated svg"),
22], {"pretty", "frame"})
23def export_svg(animation, file, frame=0, pretty=True, animated=False):
24 _print_xml = _print_pretty_xml if pretty else _print_ugly_xml
25 _print_xml(to_svg(animation, frame, animated), file)