Python3 compatibility for Credential & Certificate in save_to_string & save_to_file...
authorLoic Baron <loic.baron@lip6.fr>
Thu, 19 May 2016 09:17:47 +0000 (11:17 +0200)
committerLoic Baron <loic.baron@lip6.fr>
Thu, 19 May 2016 09:17:47 +0000 (11:17 +0200)
sfa/trust/certificate.py
sfa/trust/credential.py

index 7fe977f..5782910 100644 (file)
@@ -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
index ee3f732..0aa6162 100644 (file)
@@ -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):