From dfd5cc4728fffe1d00769aa64a56f17ed5b6f759 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 1 Nov 2023 16:28:42 +1100 Subject: [PATCH] See #3953. Fix bug where IDSes with a single enumeration value didn't validate. --- src/ifctester/ifctester/facet.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ifctester/ifctester/facet.py b/src/ifctester/ifctester/facet.py index 78e718a264..f2d9412c8d 100644 --- a/src/ifctester/ifctester/facet.py +++ b/src/ifctester/ifctester/facet.py @@ -919,12 +919,15 @@ class Restriction: return self self.base = ids_dict.get("@base", "xs:string")[3:] for key, value in ids_dict.items(): + key = key.split(":")[-1] if key in ["@base", "annotation"]: continue - if isinstance(value, dict): - self.options[key.split(":")[-1]] = value["@value"] + if key == "enumeration" and isinstance(value, dict): + self.options[key] = [value["@value"]] # A single enumeration value which is pretty meaningless + elif isinstance(value, dict): + self.options[key] = value["@value"] else: - self.options[key.split(":")[-1]] = [v["@value"] for v in value] + self.options[key] = [v["@value"] for v in value] return self def asdict(self):