From: Loic Baron Date: Thu, 19 May 2016 09:17:47 +0000 (+0200) Subject: Python3 compatibility for Credential & Certificate in save_to_string & save_to_file... X-Git-Tag: sfa-3.1-21~10 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=915e3b43952aa7bad3b861bf4e01feeb8ab882c4 Python3 compatibility for Credential & Certificate in save_to_string & save_to_file (bytes to string) --- diff --git a/sfa/trust/certificate.py b/sfa/trust/certificate.py index 7fe977ff..57829109 100644 --- a/sfa/trust/certificate.py +++ b/sfa/trust/certificate.py @@ -432,6 +432,8 @@ class Certificate: logger.warn("None cert in certificate.save_to_string") return "" string = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, self.x509) + if isinstance(string, bytes): + string = string.decode() if save_parents and self.parent: string = string + self.parent.save_to_string(save_parents) return string @@ -446,6 +448,8 @@ class Certificate: f = filep else: f = open(filename, 'w') + if isinstance(string, bytes): + string = string.decode() f.write(string) f.close() self.filename = filename diff --git a/sfa/trust/credential.py b/sfa/trust/credential.py index ee3f7325..0aa61621 100644 --- a/sfa/trust/credential.py +++ b/sfa/trust/credential.py @@ -579,12 +579,16 @@ class Credential(object): f = filep else: f = open(filename, "w") + if isinstance(self.xml, bytes): + self.xml = self.xml.decode() f.write(self.xml) f.close() def save_to_string(self, save_parents=True): if not self.xml: self.encode() + if isinstance(self.xml, bytes): + self.xml = self.xml.decode() return self.xml def get_refid(self):