MultiProject/MultiProject.py

changeset 47
884e62c0b9cb
parent 45
9a18f4dbb493
child 50
a36eecf45b2e
equal deleted inserted replaced
46:b09750fd2a06 47:884e62c0b9cb
201 QMessageBox.critical(None, 201 QMessageBox.critical(None,
202 self.trUtf8("Read multiproject file"), 202 self.trUtf8("Read multiproject file"),
203 self.trUtf8("""Compressed multiproject files not supported.""" 203 self.trUtf8("""Compressed multiproject files not supported."""
204 """ The compression library is missing.""")) 204 """ The compression library is missing."""))
205 return False 205 return False
206 f = gzip.open(fn, "r") 206 g = gzip.open(fn, "rb")
207 f = io.StringIO(g.read().decode("utf-8"))
208 g.close()
207 else: 209 else:
208 f = open(fn, "r", encoding = "utf-8") 210 f = open(fn, "r", encoding = "utf-8")
209 line = f.readline() 211 line = f.readline()
210 dtdLine = f.readline() 212 dtdLine = f.readline()
211 f.close() 213 f.close()
272 QMessageBox.critical(None, 274 QMessageBox.critical(None,
273 self.trUtf8("Read multiproject file"), 275 self.trUtf8("Read multiproject file"),
274 self.trUtf8("""Compressed multiproject files not supported.""" 276 self.trUtf8("""Compressed multiproject files not supported."""
275 """ The compression library is missing.""")) 277 """ The compression library is missing."""))
276 return False 278 return False
277 f = gzip.open(fn, "r") 279 g = gzip.open(fn, "rb")
280 f = io.StringIO(g.read().decode("utf-8"))
281 g.close()
278 else: 282 else:
279 f = open(fn, "r", encoding = "utf-8") 283 f = open(fn, "r", encoding = "utf-8")
280 try: 284 try:
281 try: 285 try:
282 parser.parse(f) 286 parser.parse(f)
349 QMessageBox.critical(None, 353 QMessageBox.critical(None,
350 self.trUtf8("Save multiproject file"), 354 self.trUtf8("Save multiproject file"),
351 self.trUtf8("""Compressed multiproject files not supported.""" 355 self.trUtf8("""Compressed multiproject files not supported."""
352 """ The compression library is missing.""")) 356 """ The compression library is missing."""))
353 return False 357 return False
354 f = gzip.open(fn, "w") 358 f = io.StringIO()
355 else: 359 else:
356 f = open(fn, "w", encoding = "utf-8") 360 f = open(fn, "w", encoding = "utf-8")
357 361
358 MultiProjectWriter(self, f, os.path.splitext(os.path.basename(fn))[0])\ 362 MultiProjectWriter(self, f, os.path.splitext(os.path.basename(fn))[0])\
359 .writeXML() 363 .writeXML()
360 364
365 if fn.lower().endswith("e4mz"):
366 g = gzip.open(fn, "wb")
367 g.write(f.getvalue().encode("utf-8"))
368 g.close()
361 f.close() 369 f.close()
362
363 except IOError: 370 except IOError:
364 QMessageBox.critical(None, 371 QMessageBox.critical(None,
365 self.trUtf8("Save multiproject file"), 372 self.trUtf8("Save multiproject file"),
366 self.trUtf8("<p>The multiproject file <b>{0}</b> could not be " 373 self.trUtf8("<p>The multiproject file <b>{0}</b> could not be "
367 "written.</p>").format(fn)) 374 "written.</p>").format(fn))

eric ide

mercurial