From 3803e92b4d98c653050c5fcff5ddf1ab464cb18f Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Sat, 21 Feb 2026 15:40:34 +0200 Subject: [PATCH] fix: update to pass ruff 0.15.2 --- gmsh_interop/reader.py | 10 ++++------ gmsh_interop/runner.py | 14 +++++++------- pyproject.toml | 7 ++++++- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gmsh_interop/reader.py b/gmsh_interop/reader.py index 29b7233..6c2a5ca 100644 --- a/gmsh_interop/reader.py +++ b/gmsh_interop/reader.py @@ -288,12 +288,10 @@ def element_type(self) -> int: @memoize_method def gmsh_node_tuples(self) -> NodeTuples: - result: list[tuple[int, ...]] = [] - for tup in generate_triangle_vertex_tuples(self.order): - result.append(tup) - for tup in generate_triangle_edge_tuples(self.order): - result.append(tup) - return result + return [ + *generate_triangle_vertex_tuples(self.order), + *generate_triangle_edge_tuples(self.order) + ] class GmshTriangularElement(GmshSimplexElementBase): diff --git a/gmsh_interop/runner.py b/gmsh_interop/runner.py index 7862849..1659c33 100644 --- a/gmsh_interop/runner.py +++ b/gmsh_interop/runner.py @@ -30,6 +30,7 @@ from typing import TYPE_CHECKING, Literal, TextIO, TypeAlias from packaging.version import Version +from typing_extensions import Self from pytools import memoize_method @@ -247,7 +248,7 @@ def version(self) -> Version: return result - def __enter__(self) -> GmshRunner: + def __enter__(self) -> Self: self.temp_dir_mgr = None temp_dir_mgr = _TempDirManager() try: @@ -277,7 +278,7 @@ def __enter__(self) -> GmshRunner: copyfile(f, join(working_dir, basename(f))) else: - raise RuntimeError("'source' type unrecognized") + raise TypeError(f"'source' type unrecognized: {type(self.source)}") # gmsh uses a "~/.gmsh-tmp" by default as a temporary file name. # Unfortunately, GMSH also automatically prepends the home @@ -387,10 +388,10 @@ def __enter__(self) -> GmshRunner: i, _o, _e = select.select([sys.stdin], [], [], 10) if i: resp = sys.stdin.readline().strip() - if resp == "N" or resp == "n": + if resp in {"N", "n"}: logger.info("Not overwriting.") decision = 0 - elif resp == "Y" or resp == "y" or not i: + elif resp in {"Y", "y"} or not i: decision = 1 logger.info("Overwriting.") else: @@ -406,14 +407,13 @@ def __enter__(self) -> GmshRunner: except OSError as exc: if exc.errno == errno.ENOTDIR: shutil.copy(tmp_output_file_path, - "/".join([self.save_tmp_files_in, - self.output_file_name])) + join(self.save_tmp_files_in, self.output_file_name)) else: raise self.temp_dir_mgr = temp_dir_mgr - return self + return self # noqa: TRY300 except Exception: temp_dir_mgr.clean_up() raise diff --git a/pyproject.toml b/pyproject.toml index 9a89197..898f451 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,8 +29,9 @@ classifiers = [ ] dependencies = [ "numpy>=1.6.0", - "pytools>=2022.1.14", "packaging>=20.0", + "pytools>=2022.1.14", + "typing_extensions>=4.6" ] [project.optional-dependencies] @@ -76,6 +77,10 @@ extend-ignore = [ "UP032", # use f-strings instead of .format ] +[tool.ruff.lint.per-file-ignores] +"test/test_*.py" = ["S102"] +"doc/conf.py" = ["S102", "DTZ002"] + [tool.ruff.lint.flake8-quotes] inline-quotes = "double" docstring-quotes = "double"