Add TODOs about utf-8 encoding/charset (#395)

Co-authored-by: kvid <kvid@users.noreply.github.com>
This commit is contained in:
Daniel Rojas 2025-03-01 19:33:54 +01:00
parent 9fbce3bbf7
commit 8f0dbe9e7f
3 changed files with 6 additions and 6 deletions

View File

@ -551,7 +551,7 @@ def set_dot_basics(dot, options):
bgcolor=options.bgcolor.html,
nodesep="0.33",
fontname=options.fontname,
)
) # TODO: Add graph attribute: charset="utf-8",
dot.attr(
"node",
shape="none",

View File

@ -391,7 +391,7 @@ class Harness:
return data.read()
@property
def svg(self):
def svg(self): # TODO?: Verify xml encoding="utf-8" in SVG?
graph = self.graph
return embed_svg_images(graph.pipe(format="svg").decode("utf-8"), Path.cwd())

View File

@ -69,9 +69,9 @@ def embed_svg_images_file(
) -> None:
filename_in = Path(filename_in).resolve()
filename_out = filename_in.with_suffix(".b64.svg")
filename_out.write_text(
filename_out.write_text( # TODO?: Verify xml encoding="utf-8" in SVG?
embed_svg_images(filename_in.read_text(), filename_in.parent)
)
) # TODO: Use encoding="utf-8" in both read_text() and write_text()
if overwrite:
filename_out.replace(filename_in)
@ -95,11 +95,11 @@ def generate_html_output(
# fall back to built-in simple template if no template was provided
templatefile = Path(wireviz.__file__).parent / "templates/simple.html"
html = file_read_text(templatefile)
html = file_read_text(templatefile) # TODO?: Warn if unexpected meta charset?
# embed SVG diagram (only if used)
def svgdata() -> str:
return re.sub(
return re.sub( # TODO?: Verify xml encoding="utf-8" in SVG?
"^<[?]xml [^?>]*[?]>[^<]*<!DOCTYPE [^>]*>",
"<!-- XML and DOCTYPE declarations from SVG file removed -->",
file_read_text(f"{filename}.tmp.svg"),