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)) |