diff options
Diffstat (limited to 'src/saml2/saml.py')
-rw-r--r-- | src/saml2/saml.py | 12 |
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) |