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 base64
import re import re
from pathlib import Path from pathlib import Path
from typing import Dict, List, Union from typing import List, Union
import jinja2 import jinja2
import wireviz # for doing wireviz.__file__ import wireviz # for doing wireviz.__file__
from wireviz import APP_NAME, APP_URL, __version__ from wireviz import APP_NAME, APP_URL, __version__
from wireviz.wv_dataclasses import Metadata, Options 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"} mime_subtype_replacements = {"jpg": "jpeg", "tif": "tiff"}
@ -131,57 +131,46 @@ def generate_html_output(
"bom_reversed": bom_html_reversed, "bom_reversed": bom_html_reversed,
"sheet_current": sheet_current, "sheet_current": sheet_current,
"sheet_total": sheet_total, "sheet_total": sheet_total,
"titleblock_rows": 9 "titleblock_rows": 9,
} }
# prepare metadata replacements # prepare metadata replacements
added_metadata = { added_metadata = {
'revisions': [], "revisions": [],
'authors': [], "authors": [],
} }
if metadata: if metadata:
for item, contents in metadata.items(): for item, contents in metadata.items():
if item == 'revisions': if item == "revisions":
added_metadata['revisions'] = [{'rev': rev, **v} for rev, v in contents.items()] added_metadata["revisions"] = [
{"rev": rev, **v} for rev, v in contents.items()
]
continue continue
if item == 'authors': if item == "authors":
added_metadata['authors'] = [{'row': row, **v} for row, v in contents.items()] added_metadata["authors"] = [
{"row": row, **v} for row, v in contents.items()
]
continue continue
if item == 'pn': if item == "pn":
added_metadata[item] = f'{contents}-{metadata.get("sheet_name")}' added_metadata[item] = f'{contents}-{metadata.get("sheet_name")}'
continue continue
added_metadata[item] = contents 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[ replacements[
"sheetsize_default" "sheetsize_default"
] = f'{metadata.get("template", {}).get("sheetsize", "sheetsize_default")}' ] = f'{metadata.get("template", {}).get("sheetsize", "sheetsize_default")}'
# include quotes so no replacement happens within <style> definition # include quotes so no replacement happens within <style> definition
for i in range(replacements["titleblock_rows"]-len(added_metadata['revisions'])-1): for i in range(
added_metadata['revisions'].append({}) replacements["titleblock_rows"] - len(added_metadata["revisions"]) - 1
added_metadata['revisions'].reverse() ):
for i in range(4-len(added_metadata['authors'])): added_metadata["revisions"].append({})
added_metadata['authors'].append({}) added_metadata["revisions"].reverse()
for i in range(4 - len(added_metadata["authors"])):
added_metadata["authors"].append({})
replacements = {**replacements, **added_metadata} 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 # prepare titleblock
titleblock_template = get_template_html("titleblock") titleblock_template = get_template_html("titleblock")
replacements["titleblock"] = titleblock_template.render(replacements) replacements["titleblock"] = titleblock_template.render(replacements)