From 9b5bb1e512b58f0703605717059197eff7da4dfa Mon Sep 17 00:00:00 2001 From: Kannan Date: Mon, 31 Aug 2026 16:14:41 +0200 Subject: [PATCH] feat: upgrade PowerFactory base version to 2025 SP4 --- epowcore/power_factory/utils.py | 10 +++++++--- tests/local/powerfactory_test.py | 4 ++-- tests/power_factory/pf_converter_test.py | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/epowcore/power_factory/utils.py b/epowcore/power_factory/utils.py index 22d38d7..5ff2b35 100644 --- a/epowcore/power_factory/utils.py +++ b/epowcore/power_factory/utils.py @@ -51,9 +51,13 @@ def get_ctrl_param(ctrl_obj: Any, param: str | list[str]) -> Any: :rtype: Any """ model_params = ctrl_obj.GetAttribute("parameterNames") - if not isinstance(model_params, list): - raise TypeError("Expected params to be a list: ['A,B,C']") - model_params = model_params[0].split(",") + + if isinstance(model_params, str): + model_params = model_params.split(",") + elif isinstance(model_params, list): + model_params = model_params[0].split(",") + else: + raise TypeError("Expected parameterNames to be a string or list") if isinstance(param, str): if param not in model_params: diff --git a/tests/local/powerfactory_test.py b/tests/local/powerfactory_test.py index d31a2f7..d3cd29b 100644 --- a/tests/local/powerfactory_test.py +++ b/tests/local/powerfactory_test.py @@ -2,8 +2,8 @@ import sys -PF_ROOT = r"C:\Program Files\DIgSILENT\PowerFactory 2023 SP2" -PF_PY = r"C:\Program Files\DIgSILENT\PowerFactory 2023 SP2\Python\3.10" +PF_ROOT = r"C:\Program Files\DIgSILENT\PowerFactory 2025 SP4" +PF_PY = r"C:\Program Files\DIgSILENT\PowerFactory 2025 SP4\Python\3.11" sys.path.append(PF_PY) diff --git a/tests/power_factory/pf_converter_test.py b/tests/power_factory/pf_converter_test.py index 04992cb..0dc457e 100644 --- a/tests/power_factory/pf_converter_test.py +++ b/tests/power_factory/pf_converter_test.py @@ -17,8 +17,8 @@ def test_minimal_conversion_no_errors(self) -> None: converter = PowerFactoryConverter() core_model = converter.to_gdf(PFModel("Minimal", "Base", 50.0)) - self.assertEqual(len(core_model.graph.nodes), 8) - self.assertEqual(len(core_model.graph.edges), 7) + self.assertEqual(len(core_model.graph.nodes), 10) + self.assertEqual(len(core_model.graph.edges), 9) two_winding_id = core_model.type_list(TwoWindingTransformer)[0].uid