From 15d69d2f5711611b56c6f215ba92d6e6eb26cbbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pal=CC=8Co?= Date: Mon, 5 Oct 2026 21:35:32 +0200 Subject: [PATCH] Fix Eagle/Fusion crash when a design rule param is missing or duplicated _parse_param_length called logger.warning, but the project Logger only provides warn. Boards without rlMinViaOuter or mlViaStopLimit params, or with one of them listed twice, crashed with AttributeError instead of logging a warning and using the default. Co-Authored-By: Claude Opus 5.5 --- InteractiveHtmlBom/ecad/fusion_eagle.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InteractiveHtmlBom/ecad/fusion_eagle.py b/InteractiveHtmlBom/ecad/fusion_eagle.py index 76d00196..aaf81d4e 100644 --- a/InteractiveHtmlBom/ecad/fusion_eagle.py +++ b/InteractiveHtmlBom/ecad/fusion_eagle.py @@ -725,12 +725,12 @@ def _parse_param_length(self, name, root, default): p = [el.attrib['value'] for el in root.iter('param') if el.attrib['name'] == name] if len(p) == 0: - self.logger.warning("{0} not found, defaulting to {1}" - .format(name, default)) + self.logger.warn("{0} not found, defaulting to {1}" + .format(name, default)) return default else: if len(p) > 1: - self.logger.warning( + self.logger.warn( "Multiple {0} found, using first occurrence".format(name)) p = p[0] p_val = float(''.join(d for d in p if d in string.digits + '.'))