From cce4bcc19be63fd239be67a9a3b9b0568b5ad529 Mon Sep 17 00:00:00 2001 From: Mainak Kundu <94432368+mkundu1@users.noreply.github.com> Date: Sun, 27 Oct 2024 13:14:41 -0400 Subject: [PATCH] fix: Remove settings API hash comparison and runtime generation of settings API classes (#3399) * fix: Remove settings API hash comparison and runtime generation of settings API classes * fix: tests --- src/ansys/fluent/core/solver/flobject.py | 42 ++++++++++-------------- tests/test_flobject.py | 3 +- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/src/ansys/fluent/core/solver/flobject.py b/src/ansys/fluent/core/solver/flobject.py index 8f3f89accfb..4fb4948ecc9 100644 --- a/src/ansys/fluent/core/solver/flobject.py +++ b/src/ansys/fluent/core/solver/flobject.py @@ -2207,42 +2207,34 @@ def get_root( """ from ansys.fluent.core import CODEGEN_OUTDIR, CODEGEN_ZIP_SETTINGS, utils - obj_info = flproxy.get_static_info() - try: - if os.getenv("PYFLUENT_USE_OLD_SETTINGSGEN") != "1": + if os.getenv("PYFLUENT_USE_OLD_SETTINGSGEN") != "1": + try: settings = utils.load_module( f"settings_{version}", CODEGEN_OUTDIR / "solver" / f"settings_{version}.py", ) + root_cls = settings.root + except FileNotFoundError: + obj_info = flproxy.get_static_info() + root_cls, _ = get_cls("", obj_info, version=version) + else: + if CODEGEN_ZIP_SETTINGS: + importer = zipimporter( + str(CODEGEN_OUTDIR / "solver" / f"settings_{version}.zip") + ) + settings = importer.load_module("settings") else: - if CODEGEN_ZIP_SETTINGS: - importer = zipimporter( - str(CODEGEN_OUTDIR / "solver" / f"settings_{version}.zip") - ) - settings = importer.load_module("settings") - else: - settings = utils.load_module( - f"settings_{version}", - CODEGEN_OUTDIR / "solver" / f"settings_{version}" / "__init__.py", - ) - - if settings.SHASH != _gethash(obj_info): - settings_logger.warning( - "Mismatch between generated file and server object " - "info. Dynamically created settings classes will " - "be used." + settings = utils.load_module( + f"settings_{version}", + CODEGEN_OUTDIR / "solver" / f"settings_{version}" / "__init__.py", ) - raise RuntimeError("Mismatch in hash values") - cls = settings.root - except Exception: - cls, _ = get_cls("", obj_info, version=version) - root = cls() + root_cls = settings.root + root = root_cls() root.set_flproxy(flproxy) root._set_on_interrupt(interrupt) root._set_file_transfer_service(file_transfer_service) _Alias.scheme_eval = scheme_eval _fix_parameter_list_return.scheme_eval = scheme_eval - root._setattr("_static_info", obj_info) root._setattr("_file_transfer_service", file_transfer_service) return root diff --git a/tests/test_flobject.py b/tests/test_flobject.py index 206e8a768c1..46aa055ebfb 100644 --- a/tests/test_flobject.py +++ b/tests/test_flobject.py @@ -520,7 +520,8 @@ def test_command(): def test_attrs(): - r = flobject.get_root(Proxy(), version="251") + r = flobject.get_root(Proxy()) + r._setattr("version", "251") assert r.g_1.s_4.get_attr("active?") assert r.g_1.s_4.get_attr("allowed-values") == ["foo", "bar"] r.g_1.b_3 = True