From cc3d6828501c423f46523f651cb35278d2d71fb5 Mon Sep 17 00:00:00 2001 From: Roland Hedberg Date: Tue, 1 Sep 2015 14:20:31 +0200 Subject: [PATCH] Fixed a python version string problem with metadata_tostring_fix(). --- src/saml2/metadata.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/saml2/metadata.py b/src/saml2/metadata.py index 700508b..170f59d 100644 --- a/src/saml2/metadata.py +++ b/src/saml2/metadata.py @@ -55,14 +55,21 @@ ORG_ATTR_TRANSL = { } MDNS = '"urn:oasis:names:tc:SAML:2.0:metadata"' +bMDNS = b'"urn:oasis:names:tc:SAML:2.0:metadata"' XMLNSXS = " xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" - +bXMLNSXS = b" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" def metadata_tostring_fix(desc, nspair, xmlstring=""): if not xmlstring: xmlstring = desc.to_string(nspair) - if "\"xs:string\"" in xmlstring and XMLNSXS not in xmlstring: - xmlstring = xmlstring.replace(MDNS, MDNS+XMLNSXS) + + if six.PY2: + if "\"xs:string\"" in xmlstring and XMLNSXS not in xmlstring: + xmlstring = xmlstring.replace(MDNS, MDNS+XMLNSXS) + else: + if b"\"xs:string\"" in xmlstring and bXMLNSXS not in xmlstring: + xmlstring = xmlstring.replace(bMDNS, bMDNS+bXMLNSXS) + return xmlstring