From 600081f909e626a45c0fe50b88b102663a62b3aa Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Mon, 29 Jan 2024 12:20:47 +0100 Subject: [PATCH] ENH: check for `_latex_repr_` typo --- src/ampform/sympy/_decorator.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ampform/sympy/_decorator.py b/src/ampform/sympy/_decorator.py index 708416287..3cf0ac2b7 100644 --- a/src/ampform/sympy/_decorator.py +++ b/src/ampform/sympy/_decorator.py @@ -344,10 +344,15 @@ def __call__(self, printer: LatexPrinter, *args) -> str: ... @dataclass_transform(field_specifiers=(argument, _create_field)) def _implement_latex_repr(cls: type[T]) -> type[T]: - _latex_repr_: LatexMethod | str | None = getattr(cls, "_latex_repr_", None) + repr_name = "_latex_repr_" + repr_mistyped = "_latex_repr" + if hasattr(cls, repr_mistyped): + msg = f"Class defines a {repr_mistyped} attribute, but it should be {repr_name}" + raise AttributeError(msg) + _latex_repr_: LatexMethod | str | None = getattr(cls, repr_name, None) if _latex_repr_ is None: msg = ( - "You need to define a _latex_repr_ str or method in order to decorate an" + f"You need to define a {repr_name} str or method in order to decorate an" " unevaluated expression with a printer method for LaTeX representation." ) raise NotImplementedError(msg)