From 24001934355ec3244577a414dc0f2d2e80939547 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Sat, 1 Mar 2025 17:42:43 +0100 Subject: [PATCH] Add check for outdated connector attributes Co-authored-by: kvid --- src/wireviz/wv_harness.py | 3 ++- src/wireviz/wv_utils.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/wireviz/wv_harness.py b/src/wireviz/wv_harness.py index 0c730ac..ba388e5 100644 --- a/src/wireviz/wv_harness.py +++ b/src/wireviz/wv_harness.py @@ -40,7 +40,7 @@ from wireviz.wv_output import ( embed_svg_images_file, generate_html_output, ) -from wireviz.wv_utils import bom2tsv, open_file_write +from wireviz.wv_utils import OLD_CONNECTOR_ATTR, bom2tsv, check_old, open_file_write @dataclass @@ -58,6 +58,7 @@ class Harness: self.additional_bom_items = [] def add_connector(self, designator: str, *args, **kwargs) -> None: + check_old(f"Connector '{designator}'", OLD_CONNECTOR_ATTR, kwargs) conn = Connector(designator=designator, *args, **kwargs) self.connectors[designator] = conn diff --git a/src/wireviz/wv_utils.py b/src/wireviz/wv_utils.py index fb04e88..c8f0439 100644 --- a/src/wireviz/wv_utils.py +++ b/src/wireviz/wv_utils.py @@ -214,3 +214,17 @@ def smart_file_resolve(filename: str, possible_paths: Union[str, List[str]]) -> f"{filename} was not found in any of the following locations: \n" + "\n".join([str(x) for x in possible_paths]) ) + + +OLD_CONNECTOR_ATTR = { + "pinout": "was renamed to 'pinlabels' in v0.2", + "pinnumbers": "was renamed to 'pins' in v0.2", + "autogenerate": "is replaced with new syntax in v0.4", +} + + +def check_old(node: str, old_attr: dict, args: dict) -> None: + """Raise exception for any outdated attributes in args.""" + for attr, descr in old_attr.items(): + if attr in args: + raise ValueError(f"'{attr}' in {node}: '{attr}' {descr}")