From 7a4935c0cd7fd4b249667f3137c24878e43df62d Mon Sep 17 00:00:00 2001
From: Alexander Schlemmer <a.schlemmer@indiscale.com>
Date: Thu, 14 Nov 2024 11:37:08 +0100
Subject: [PATCH] FIX: correct dict in match_properties of DictElementConverter

---
 src/caoscrawler/converters/converters.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/caoscrawler/converters/converters.py b/src/caoscrawler/converters/converters.py
index 0320ae10..6e3c8ffe 100644
--- a/src/caoscrawler/converters/converters.py
+++ b/src/caoscrawler/converters/converters.py
@@ -507,11 +507,14 @@ class Converter(object, metaclass=ABCMeta):
                 matched_m_prop = None
                 matched_m_prop_value = None
                 for prop_key, prop_value in properties.items():
-                    m_prop = re.match(prop_def_key, prop_key)
+                    print("{} = {}".format(prop_key, prop_value))
+                    # TODO: automatic conversion to str ok?
+                    m_prop = re.match(prop_def_key, str(prop_key))
                     if m_prop is not None:
                         match_counter += 1
                         matched_m_prop = m_prop
-                        m_prop_value = re.match(prop_def_value, prop_value)
+                        # TODO: automatic conversion to str ok?
+                        m_prop_value = re.match(prop_def_value, str(prop_value))
                         if m_prop_value is None:
                             return False
                         matched_m_prop_value = m_prop_value
@@ -952,7 +955,7 @@ class DictElementConverter(Converter):
             raise RuntimeError("Element must be a DictElement.")
         vardict = match_name_and_value(self.definition, element.name, element.value)
 
-        if not self.match_properties(element.value.items(), vardict):
+        if not self.match_properties(element.value, vardict):
             return None
 
         return vardict
-- 
GitLab