diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index b6739b8..4eb4507 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -40,6 +40,7 @@ class Metadata: @dataclass class Options: + fontname: PlainText = 'arial' color_mode: ColorMode = 'SHORT' mini_bom_mode: bool = True diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index 88f4249..750e51a 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -90,18 +90,17 @@ class Harness: dot = Graph() dot.body.append(f'// Graph generated by {APP_NAME} {__version__}') dot.body.append(f'// {APP_URL}') - font = 'arial' dot.attr('graph', rankdir='LR', ranksep='2', bgcolor='white', nodesep='0.33', - fontname=font) + fontname=self.options.fontname) dot.attr('node', shape='record', style='filled', fillcolor='white', - fontname=font) + fontname=self.options.fontname) dot.attr('edge', style='bold', - fontname=font) + fontname=self.options.fontname) # prepare ports on connectors depending on which side they will connect for _, cable in self.cables.items(): @@ -365,7 +364,7 @@ class Harness: with open_file_write(f'{filename}.bom.tsv') as file: file.write(tuplelist2tsv(bomlist)) # HTML output - generate_html_output(filename, bomlist, self.metadata) + generate_html_output(filename, bomlist, self.metadata, self.options) def bom(self): if not self._bom: diff --git a/src/wireviz/wv_html.py b/src/wireviz/wv_html.py index 6d3e330..fe8d7b5 100644 --- a/src/wireviz/wv_html.py +++ b/src/wireviz/wv_html.py @@ -6,17 +6,17 @@ from typing import List, Union import re from wireviz import __version__, APP_NAME, APP_URL -from wireviz.DataClasses import Metadata +from wireviz.DataClasses import Metadata, Options from wireviz.wv_helper import flatten2d, open_file_read, open_file_write -def generate_html_output(filename: Union[str, Path], bom_list: List[List[str]], metadata: Metadata): +def generate_html_output(filename: Union[str, Path], bom_list: List[List[str]], metadata: Metadata, options: Options): with open_file_write(f'{filename}.html') as file: file.write('\n') file.write('
\n') file.write(' \n') file.write(f' \n') file.write(f'