diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index eba63e2..2e87edb 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -264,6 +264,15 @@ class Harness: data.seek(0) return data.read() + @property + def svg(self): + from io import BytesIO + graph = self.create_graph() + data = BytesIO() + data.write(graph.pipe(format='svg')) + data.seek(0) + return data.read() + def output(self, filename, directory='_output', view=False, cleanup=True, fmt='pdf', gen_bom=False): # graphical output graph = self.create_graph() diff --git a/src/wireviz/wireviz.py b/src/wireviz/wireviz.py index 5f10dc8..465b389 100755 --- a/src/wireviz/wireviz.py +++ b/src/wireviz/wireviz.py @@ -205,8 +205,10 @@ def parse(yaml_input, file_out=None, generate_bom=False, return_types: (None, st if 'png' in return_types: returns.append(harness.png) + if 'svg' in return_types: + returns.append(harness.svg) - return tuple(returns) if len(returns) != 1 else returns + return tuple(returns) if len(returns) != 1 else returns[0] def parse_file(yaml_file, file_out=None, generate_bom=False):