wv_output: cleanup

This commit is contained in:
Laurier Loiselle 2023-01-24 17:33:12 -05:00
parent 72ae647d03
commit b3a86f4a83
No known key found for this signature in database
GPG Key ID: 345920CC72089A3F

View File

@ -3,14 +3,14 @@
import base64
import re
from pathlib import Path
from typing import Dict, List, Union
from typing import List, Union
import jinja2
import wireviz # for doing wireviz.__file__
from wireviz import APP_NAME, APP_URL, __version__
from wireviz.wv_dataclasses import Metadata, Options
from wireviz.wv_utils import html_line_breaks, open_file_read, open_file_write
from wireviz.wv_utils import open_file_read, open_file_write
mime_subtype_replacements = {"jpg": "jpeg", "tif": "tiff"}
@ -131,57 +131,46 @@ def generate_html_output(
"bom_reversed": bom_html_reversed,
"sheet_current": sheet_current,
"sheet_total": sheet_total,
"titleblock_rows": 9
"titleblock_rows": 9,
}
# prepare metadata replacements
added_metadata = {
'revisions': [],
'authors': [],
"revisions": [],
"authors": [],
}
if metadata:
for item, contents in metadata.items():
if item == 'revisions':
added_metadata['revisions'] = [{'rev': rev, **v} for rev, v in contents.items()]
if item == "revisions":
added_metadata["revisions"] = [
{"rev": rev, **v} for rev, v in contents.items()
]
continue
if item == 'authors':
added_metadata['authors'] = [{'row': row, **v} for row, v in contents.items()]
if item == "authors":
added_metadata["authors"] = [
{"row": row, **v} for row, v in contents.items()
]
continue
if item == 'pn':
if item == "pn":
added_metadata[item] = f'{contents}-{metadata.get("sheet_name")}'
continue
added_metadata[item] = contents
#if isinstance(contents, (str, int, float)):
# replacements[str(item)] = html_line_breaks(str(contents))
#elif isinstance(contents, Dict): # useful for authors, revisions
# for index, (category, entry) in enumerate(contents.items()):
# if isinstance(entry, Dict):
# replacements[f"{item}_{index+1}"] = str(category)
# for entry_key, entry_value in entry.items():
# replacements[
# f"{item}_{index+1}_{entry_key}"
# ] = html_line_breaks(str(entry_value))
replacements[
"sheetsize_default"
] = f'{metadata.get("template", {}).get("sheetsize", "sheetsize_default")}'
# include quotes so no replacement happens within <style> definition
for i in range(replacements["titleblock_rows"]-len(added_metadata['revisions'])-1):
added_metadata['revisions'].append({})
added_metadata['revisions'].reverse()
for i in range(4-len(added_metadata['authors'])):
added_metadata['authors'].append({})
for i in range(
replacements["titleblock_rows"] - len(added_metadata["revisions"]) - 1
):
added_metadata["revisions"].append({})
added_metadata["revisions"].reverse()
for i in range(4 - len(added_metadata["authors"])):
added_metadata["authors"].append({})
replacements = {**replacements, **added_metadata}
# Add logo
#if 'logo' in replacements:
# #import pdb;pdb.set_trace()
# replacements['logo'] = f'<img class=logo src={logo_path} alt="Company Logo"/>'
# prepare titleblock
titleblock_template = get_template_html("titleblock")
replacements["titleblock"] = titleblock_template.render(replacements)