From 50a64e9dc35fe75b9db3b62dca3baecb2cebc3ff Mon Sep 17 00:00:00 2001 From: Bissbert <43237892+Bissbert@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:16:04 +0700 Subject: [PATCH] fix: resolve mypy type errors in parser and cli - Wrap _advance().value with str() to satisfy no-any-return (parser.py) - Use flat_forms() instead of .forms to fix union-attr with FormGroup (cli.py) Refs: mypy strict mode compliance --- src/cdl_parser/cli.py | 2 +- src/cdl_parser/parser.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cdl_parser/cli.py b/src/cdl_parser/cli.py index 1d300d4..d56e14e 100644 --- a/src/cdl_parser/cli.py +++ b/src/cdl_parser/cli.py @@ -110,7 +110,7 @@ def main(args: list[str] | None = None) -> int: print(f" System: {desc.system}") print(f" Point Group: {desc.point_group}") print(f" Forms ({len(desc.forms)}):") - for form in desc.forms: + for form in desc.flat_forms(): print(f" {form.miller} @ scale={form.scale}") if desc.modifications: print(f" Modifications ({len(desc.modifications)}):") diff --git a/src/cdl_parser/parser.py b/src/cdl_parser/parser.py index 61a8672..5a2d19f 100644 --- a/src/cdl_parser/parser.py +++ b/src/cdl_parser/parser.py @@ -752,7 +752,7 @@ def _parse_feature_value(self) -> int | float | str: elif token.type == TokenType.FLOAT: return float(self._advance().value) elif token.type == TokenType.IDENTIFIER: - return self._advance().value.lower() + return str(self._advance().value).lower() elif token.type == TokenType.POINT_GROUP: # Handle numeric point groups like '1', '3' as values value = token.value @@ -762,7 +762,7 @@ def _parse_feature_value(self) -> int | float | str: return result except ValueError: pass - return self._advance().value + return str(self._advance().value) raise ParseError("Expected feature value", position=token.position) def _parse_phenomenon(self) -> PhenomenonSpec: