From 13a83479b30eafe4a1f76ddf2dcb46c35e82c286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Sat, 21 Jan 2023 10:57:13 +0100 Subject: [PATCH] BUG: fix future incompatibility with yt 4.2 --- yt_idefix/data_structures.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/yt_idefix/data_structures.py b/yt_idefix/data_structures.py index a172b187..d1010c81 100644 --- a/yt_idefix/data_structures.py +++ b/yt_idefix/data_structures.py @@ -345,10 +345,25 @@ def _setup_geometry(self) -> None: "input prevails to allow working around hypothetical parsing bugs, " "but it is very likely to result in an error in the general case." ) - self.geometry = from_input + geom_str = from_input else: assert from_disk - self.geometry = from_disk + geom_str = from_disk + + def parse_geometry(geom: str): + import yt + + if yt.version_info[:2] > (4, 1): + try: + from yt.geometry.api import Geometry # type: ignore [attr-defined] + + return Geometry(geom) + except ImportError: + pass + + return geom + + self.geometry = parse_geometry(geom_str) def _parse_inifile(self) -> None: if not self._inifile: