9 """ |
9 """ |
10 |
10 |
11 import sys |
11 import sys |
12 import os |
12 import os |
13 import zipfile |
13 import zipfile |
14 import cStringIO |
14 import io |
15 |
15 |
16 from PyQt4.QtGui import * |
16 from PyQt4.QtGui import * |
17 from PyQt4.QtCore import * |
17 from PyQt4.QtCore import * |
18 from PyQt4.QtNetwork import QHttp, QNetworkProxy |
18 from PyQt4.QtNetwork import QHttp, QNetworkProxy |
19 |
19 |
20 from Ui_PluginRepositoryDialog import Ui_PluginRepositoryDialog |
20 from .Ui_PluginRepositoryDialog import Ui_PluginRepositoryDialog |
21 |
21 |
22 from UI.AuthenticationDialog import AuthenticationDialog |
22 from UI.AuthenticationDialog import AuthenticationDialog |
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 |
248 self.__doneMethod = None |
248 self.__doneMethod = None |
249 |
249 |
250 if os.path.exists(self.pluginRepositoryFile): |
250 if os.path.exists(self.pluginRepositoryFile): |
251 self.__repositoryMissing = False |
251 self.__repositoryMissing = False |
252 try: |
252 try: |
253 f = open(self.pluginRepositoryFile, "rb") |
253 f = open(self.pluginRepositoryFile, "r") |
254 line = f.readline() |
254 line = f.readline() |
255 dtdLine = f.readline() |
255 dtdLine = f.readline() |
256 f.close() |
256 f.close() |
257 except IOError: |
257 except IOError: |
258 QMessageBox.critical(None, |
258 QMessageBox.critical(None, |
272 parser.setContentHandler(handler) |
272 parser.setContentHandler(handler) |
273 parser.setEntityResolver(er) |
273 parser.setEntityResolver(er) |
274 parser.setErrorHandler(eh) |
274 parser.setErrorHandler(eh) |
275 |
275 |
276 try: |
276 try: |
277 f = open(self.pluginRepositoryFile, "rb") |
277 f = open(self.pluginRepositoryFile, "r") |
278 try: |
278 try: |
279 try: |
279 try: |
280 parser.parse(f) |
280 parser.parse(f) |
281 except UnicodeEncodeError: |
281 except UnicodeEncodeError: |
282 f.seek(0) |
282 f.seek(0) |
283 buf = cStringIO.StringIO(f.read()) |
283 buf = io.StringIO(f.read()) |
284 parser.parse(buf) |
284 parser.parse(buf) |
285 finally: |
285 finally: |
286 f.close() |
286 f.close() |
287 except IOError: |
287 except IOError: |
288 QMessageBox.critical(None, |
288 QMessageBox.critical(None, |