Enable embedding of images in WireViz SVG output

This commit is contained in:
Daniel Rojas 2020-11-15 11:42:41 +01:00
parent cc93a330fb
commit cf77b3463b

View File

@ -18,6 +18,7 @@ from wireviz.wv_bom import manufacturer_info_field, component_table_entry, \
from wireviz.wv_html import generate_html_output from wireviz.wv_html import generate_html_output
from wireviz.wv_helper import awg_equiv, mm2_equiv, tuplelist2tsv, flatten2d, \ from wireviz.wv_helper import awg_equiv, mm2_equiv, tuplelist2tsv, flatten2d, \
open_file_read, open_file_write open_file_read, open_file_write
from wireviz.svgembed import embed_svg_images
class Harness: class Harness:
@ -345,7 +346,7 @@ class Harness:
from io import BytesIO from io import BytesIO
graph = self.create_graph() graph = self.create_graph()
data = BytesIO() data = BytesIO()
data.write(graph.pipe(format='svg')) data.write(graph.pipe(format='svg')) # TODO: use embed_svg_images()
data.seek(0) data.seek(0)
return data.read() return data.read()
@ -356,6 +357,8 @@ class Harness:
graph.format = f graph.format = f
graph.render(filename=filename, view=view, cleanup=cleanup) graph.render(filename=filename, view=view, cleanup=cleanup)
graph.save(filename=f'{filename}.gv') graph.save(filename=f'{filename}.gv')
if 'svg' in fmt:
embed_svg_images(f'{filename}.svg')
# bom output # bom output
bomlist = bom_list(self.bom()) bomlist = bom_list(self.bom())
with open_file_write(f'{filename}.bom.tsv') as file: with open_file_write(f'{filename}.bom.tsv') as file: