summaryrefslogtreecommitdiff
path: root/src/saml2/saml.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/saml2/saml.py')
-rw-r--r--src/saml2/saml.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/saml2/saml.py b/src/saml2/saml.py
index fa3afbc5..af91bdeb 100644
--- a/src/saml2/saml.py
+++ b/src/saml2/saml.py
@@ -327,9 +327,10 @@ class AttributeValueBase(SamlBase):
}
xsd_string = (
- 'base64Binary' if base64encode
- else self.get_type()
- or type_to_xsd.get(type(value)))
+ 'base64Binary'
+ if base64encode
+ else self.get_type() or type_to_xsd.get(type(value))
+ )
xsd_ns, xsd_type = (
['', type(None)] if xsd_string is None
@@ -340,7 +341,10 @@ class AttributeValueBase(SamlBase):
] if ':' not in xsd_string
else xsd_string.split(':', 1))
- xsd_type_props = xsd_types_props.get(xsd_type, {})
+ xsd_type_props = xsd_types_props.get(xsd_type)
+ if not xsd_type_props:
+ xsd_type_props = xsd_types_props.get("string")
+
valid_type = xsd_type_props.get('type', type(None))
to_type = xsd_type_props.get('to_type', str)
to_text = xsd_type_props.get('to_text', str)