Project/Project.py

changeset 47
884e62c0b9cb
parent 45
9a18f4dbb493
child 48
f4274afeba82
--- a/Project/Project.py	Mon Jan 11 15:23:45 2010 +0000
+++ b/Project/Project.py	Mon Jan 11 17:42:24 2010 +0000
@@ -556,7 +556,9 @@
                         self.trUtf8("""Compressed project files not supported."""
                                     """ The compression library is missing."""))
                     return False
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 f = open(fn, "r", encoding = "utf-8")
             line = f.readline()
@@ -660,7 +662,9 @@
                         self.trUtf8("""Compressed project files not supported."""
                                     """ The compression library is missing."""))
                     return False
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 f = open(fn, "r", encoding = "utf-8")
             try:
@@ -742,12 +746,16 @@
                         self.trUtf8("""Compressed project files not supported."""
                                     """ The compression library is missing."""))
                     return False
-                f = gzip.open(fn, "w")
+                f = io.StringIO()
             else:
                 f = open(fn, "w", encoding = "utf-8")
             
             ProjectWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML()
             
+            if fn.lower().endswith("e4pz"):
+                g = gzip.open(fn, "wb")
+                g.write(f.getvalue().encode("utf-8"))
+                g.close()
             f.close()
             
         except IOError:
@@ -855,7 +863,9 @@
                             self.trUtf8("""Compressed project session files not"""
                                 """ supported. The compression library is missing."""))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), 
                                   '%s%s.e4s' % (fn, indicator))
@@ -928,7 +938,9 @@
                             self.trUtf8("<p>The project session <b>{0}</b> could not"
                                 " be read.</p>").format(fn))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 f = open(fn, "r", encoding = "utf-8")
             try:
@@ -995,7 +1007,7 @@
                             self.trUtf8("""Compressed project session files not"""
                                 """ supported. The compression library is missing."""))
                     return
-                f = gzip.open(fn, "w")
+                f = io.StringIO()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), 
                                   '%s%s.e4s' % (fn, indicator))
@@ -1003,6 +1015,10 @@
             
             SessionWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML()
             
+            if fn.lower().endswith("e4sz"):
+                g = gzip.open(fn, "wb")
+                g.write(f.getvalue().encode("utf-8"))
+                g.close()
             f.close()
             
         except IOError:
@@ -1061,7 +1077,9 @@
                         self.trUtf8("""Compressed tasks files not supported."""
                             """ The compression library is missing."""))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn)
                 if not os.path.exists(fn):
@@ -1118,7 +1136,9 @@
                         self.trUtf8("""Compressed tasks files not supported."""
                             """ The compression library is missing."""))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 f = open(fn, "r", encoding = "utf-8")
             try:
@@ -1161,13 +1181,17 @@
                         self.trUtf8("""Compressed tasks files not supported."""
                             """ The compression library is missing."""))
                     return
-                f = gzip.open(fn, "w")
+                f = io.StringIO()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn)
                 f = open(fn, "w", encoding = "utf-8")
             
             TasksWriter(f, True, os.path.splitext(os.path.basename(fn))[0]).writeXML()
             
+            if fn.lower().endswith("e4tz"):
+                g = gzip.open(fn, "wb")
+                g.write(f.getvalue().encode("utf-8"))
+                g.close()
             f.close()
             
         except IOError:
@@ -1205,7 +1229,9 @@
                                         """ supported. The compression library is"""
                                         """ missing."""))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn)
                 f = open(fn, "r", encoding = "utf-8")
@@ -1265,7 +1291,9 @@
                             self.trUtf8("<p>The project debugger properties file"
                                         " <b>{0}</b> could not be read.</p>").format(fn))
                     return
-                f = gzip.open(fn, "r")
+                g = gzip.open(fn, "rb")
+                f = io.StringIO(g.read().decode("utf-8"))
+                g.close()
             else:
                 f = open(fn, "r", encoding = "utf-8")
             try:
@@ -1324,7 +1352,7 @@
                                         """ not supported. The compression library is"""
                                         """ missing."""))
                     return
-                f = gzip.open(fn, "w")
+                f = io.StringIO()
             else:
                 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn)
                 f = open(fn, "w", encoding = "utf-8")
@@ -1332,6 +1360,10 @@
             DebuggerPropertiesWriter(f, os.path.splitext(os.path.basename(fn))[0])\
                 .writeXML()
             
+            if fn.lower().endswith("e4dz"):
+                g = gzip.open(fn, "wb")
+                g.write(f.getvalue().encode("utf-8"))
+                g.close()
             f.close()
             
         except IOError:

eric ide

mercurial