From 4cf68f376a2ea6ac7e9548e1dd8e007886b4772d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20De=20Keersmaeker?=
 <francois.dekeersmaeker@uclouvain.be>
Date: Tue, 3 Sep 2024 09:42:56 +0000
Subject: [PATCH] More robust importlib statements

---
 Protocol.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Protocol.py b/Protocol.py
index 81d0b59..8468385 100644
--- a/Protocol.py
+++ b/Protocol.py
@@ -1,6 +1,7 @@
 from __future__ import annotations
 from typing import Union
 import importlib
+import pkgutil
 
 
 class Protocol:
@@ -48,8 +49,9 @@ class Protocol:
         :param protocol_data: Dictionary containing the protocol data.
         :param device: Dictionary containing the device metadata.
         """
-        module = importlib.import_module(f"profile_translator.protocols.{protocol_name}")
-        cls = getattr(module, protocol_name)
+        package = importlib.import_module(__name__).__name__.rpartition(".")[0]
+        protocol_module = importlib.import_module(f"{package}.{protocol_name}")
+        cls = getattr(protocol_module, protocol_name)
         return cls(protocol_data, device)
 
     
-- 
GitLab