diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index 07d9688..c01de1a 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -41,6 +41,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 51761a8..95cb530 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -93,18 +93,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(): @@ -372,7 +371,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' {metadata.title}\n') - file.write('\n') + file.write(f'\n') file.write(f'

{metadata.title}

\n') if metadata.description: