MultiProject/MultiProject.py

changeset 12
1d8dd9706f46
parent 7
c679fb30c8f3
child 13
1af94a91f439
equal deleted inserted replaced
11:b0996e4a289e 12:1d8dd9706f46
7 Module implementing the multi project management functionality. 7 Module implementing the multi project management functionality.
8 """ 8 """
9 9
10 import os 10 import os
11 import sys 11 import sys
12 import cStringIO 12 import io
13 13
14 from PyQt4.QtCore import * 14 from PyQt4.QtCore import *
15 from PyQt4.QtGui import * 15 from PyQt4.QtGui import *
16 16
17 from E4Gui.E4Application import e4App 17 from E4Gui.E4Application import e4App
18 18
19 from Globals import recentNameMultiProject 19 from Globals import recentNameMultiProject
20 20
21 from PropertiesDialog import PropertiesDialog 21 from .PropertiesDialog import PropertiesDialog
22 from AddProjectDialog import AddProjectDialog 22 from .AddProjectDialog import AddProjectDialog
23 23
24 from E4XML.XMLUtilities import make_parser 24 from E4XML.XMLUtilities import make_parser
25 from E4XML.XMLErrorHandler import XMLErrorHandler, XMLFatalParseError 25 from E4XML.XMLErrorHandler import XMLErrorHandler, XMLFatalParseError
26 from E4XML.XMLEntityResolver import XMLEntityResolver 26 from E4XML.XMLEntityResolver import XMLEntityResolver
27 27
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, "rb") 206 f = gzip.open(fn, "r")
207 else: 207 else:
208 f = open(fn, "rb") 208 f = open(fn, "r")
209 line = f.readline() 209 line = f.readline()
210 dtdLine = f.readline() 210 dtdLine = f.readline()
211 f.close() 211 f.close()
212 except EnvironmentError: 212 except EnvironmentError:
213 QApplication.restoreOverrideCursor() 213 QApplication.restoreOverrideCursor()
272 QMessageBox.critical(None, 272 QMessageBox.critical(None,
273 self.trUtf8("Read multiproject file"), 273 self.trUtf8("Read multiproject file"),
274 self.trUtf8("""Compressed multiproject files not supported.""" 274 self.trUtf8("""Compressed multiproject files not supported."""
275 """ The compression library is missing.""")) 275 """ The compression library is missing."""))
276 return False 276 return False
277 f = gzip.open(fn, "rb") 277 f = gzip.open(fn, "r")
278 else: 278 else:
279 f = open(fn, "rb") 279 f = open(fn, "r")
280 try: 280 try:
281 try: 281 try:
282 parser.parse(f) 282 parser.parse(f)
283 except UnicodeEncodeError: 283 except UnicodeEncodeError:
284 f.seek(0) 284 f.seek(0)
285 buf = cStringIO.StringIO(f.read()) 285 buf = io.StringIO(f.read())
286 parser.parse(buf) 286 parser.parse(buf)
287 finally: 287 finally:
288 f.close() 288 f.close()
289 except IOError: 289 except IOError:
290 QApplication.restoreOverrideCursor() 290 QApplication.restoreOverrideCursor()
349 QMessageBox.critical(None, 349 QMessageBox.critical(None,
350 self.trUtf8("Save multiproject file"), 350 self.trUtf8("Save multiproject file"),
351 self.trUtf8("""Compressed multiproject files not supported.""" 351 self.trUtf8("""Compressed multiproject files not supported."""
352 """ The compression library is missing.""")) 352 """ The compression library is missing."""))
353 return False 353 return False
354 f = gzip.open(fn, "wb") 354 f = gzip.open(fn, "w")
355 else: 355 else:
356 f = open(fn, "wb") 356 f = open(fn, "w")
357 357
358 MultiProjectWriter(self, f, os.path.splitext(os.path.basename(fn))[0])\ 358 MultiProjectWriter(self, f, os.path.splitext(os.path.basename(fn))[0])\
359 .writeXML() 359 .writeXML()
360 360
361 f.close() 361 f.close()

eric ide

mercurial