From d4488baec1534e8db3cbfb00b4d251aeaf48d263 Mon Sep 17 00:00:00 2001 From: Kazuki Suzuki Przyborowski Date: Fri, 15 Nov 2024 16:50:06 -0600 Subject: [PATCH] Add files via upload --- upcean/svgcreate.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/upcean/svgcreate.py b/upcean/svgcreate.py index 7d38f9f3..19571b8e 100644 --- a/upcean/svgcreate.py +++ b/upcean/svgcreate.py @@ -390,6 +390,21 @@ def saveas(self, filename, pretty=False, indent=2, encoding='utf-8'): self.filename = filename self.save(pretty=pretty, indent=indent, encoding=encoding) + def write(self, fileobj, pretty=False, indent=2, encoding='utf-8'): + """ + Write XML string to a file-like object. + + Parameters: + - fileobj: a file-like object with a write method. + - pretty: True for pretty-printed output. + - indent: indentation level for pretty-printed output. + - encoding: character encoding for the output. + """ + svg_string = self.tostring(pretty=pretty, indent=indent) + if isinstance(svg_string, str): + svg_string = svg_string.encode(encoding) + fileobj.write(svg_string) + # Factory methods to create SVG elements def line(self, start, end, **kwargs): return Line(start, end, **kwargs)