Helpviewer/GreaseMonkey/GreaseMonkeyDownloader.py

branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3022
57179e4cdadd
child 3060
5883ce99ee12
equal deleted inserted replaced
3057:10516539f238 3058:0a02c433f52d
37 """ 37 """
38 super(GreaseMonkeyDownloader, self).__init__() 38 super(GreaseMonkeyDownloader, self).__init__()
39 39
40 self.__manager = manager 40 self.__manager = manager
41 41
42 self.__reply = FollowRedirectReply(request.url(), 42 self.__reply = FollowRedirectReply(
43 request.url(),
43 Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) 44 Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
44 self.__reply.finished.connect(self.__scriptDownloaded) 45 self.__reply.finished.connect(self.__scriptDownloaded)
45 46
46 self.__fileName = "" 47 self.__fileName = ""
47 self.__requireUrls = [] 48 self.__requireUrls = []
57 response = bytes(self.__reply.readAll()).decode() 58 response = bytes(self.__reply.readAll()).decode()
58 59
59 if self.__reply.error() == QNetworkReply.NoError and \ 60 if self.__reply.error() == QNetworkReply.NoError and \
60 "// ==UserScript==" in response: 61 "// ==UserScript==" in response:
61 from Helpviewer import HelpUtilities 62 from Helpviewer import HelpUtilities
62 filePath = os.path.join(self.__manager.scriptsDirectory(), 63 filePath = os.path.join(
64 self.__manager.scriptsDirectory(),
63 HelpUtilities.getFileNameFromUrl(self.__reply.url())) 65 HelpUtilities.getFileNameFromUrl(self.__reply.url()))
64 self.__fileName = HelpUtilities.ensureUniqueFilename(filePath) 66 self.__fileName = HelpUtilities.ensureUniqueFilename(filePath)
65 67
66 try: 68 try:
67 f = open(self.__fileName, "w", encoding="utf-8") 69 f = open(self.__fileName, "w", encoding="utf-8")
68 except (IOError, OSError) as err: 70 except (IOError, OSError) as err:
69 E5MessageBox.critical(None, 71 E5MessageBox.critical(
72 None,
70 self.trUtf8("GreaseMonkey Download"), 73 self.trUtf8("GreaseMonkey Download"),
71 self.trUtf8( 74 self.trUtf8(
72 """<p>The file <b>{0}</b> could not be opened""" 75 """<p>The file <b>{0}</b> could not be opened"""
73 """ for writing.<br/>Reason: {1}</p>""").format( 76 """ for writing.<br/>Reason: {1}</p>""").format(
74 self.__fileName, str(err))) 77 self.__fileName, str(err)))
114 fileName = HelpUtilities.ensureUniqueFilename(filePath, "{0}") 117 fileName = HelpUtilities.ensureUniqueFilename(filePath, "{0}")
115 118
116 try: 119 try:
117 f = open(fileName, "w", encoding="utf-8") 120 f = open(fileName, "w", encoding="utf-8")
118 except (IOError, OSError) as err: 121 except (IOError, OSError) as err:
119 E5MessageBox.critical(None, 122 E5MessageBox.critical(
123 None,
120 self.trUtf8("GreaseMonkey Download"), 124 self.trUtf8("GreaseMonkey Download"),
121 self.trUtf8( 125 self.trUtf8(
122 """<p>The file <b>{0}</b> could not be opened""" 126 """<p>The file <b>{0}</b> could not be opened"""
123 """ for writing.<br/>Reason: {1}</p>""").format( 127 """ for writing.<br/>Reason: {1}</p>""").format(
124 fileName, str(err))) 128 fileName, str(err)))
142 def __downloadRequires(self): 146 def __downloadRequires(self):
143 """ 147 """
144 Private slot to initiate the download of required scripts. 148 Private slot to initiate the download of required scripts.
145 """ 149 """
146 if self.__requireUrls: 150 if self.__requireUrls:
147 self.__reply = FollowRedirectReply(self.__requireUrls.pop(0), 151 self.__reply = FollowRedirectReply(
152 self.__requireUrls.pop(0),
148 Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) 153 Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
149 self.__reply.finished.connect(self.__requireDownloaded) 154 self.__reply.finished.connect(self.__requireDownloaded)
150 else: 155 else:
151 from .GreaseMonkeyScript import GreaseMonkeyScript 156 from .GreaseMonkeyScript import GreaseMonkeyScript
152 deleteScript = True 157 deleteScript = True
157 from .GreaseMonkeyAddScriptDialog import \ 162 from .GreaseMonkeyAddScriptDialog import \
158 GreaseMonkeyAddScriptDialog 163 GreaseMonkeyAddScriptDialog
159 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script) 164 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script)
160 deleteScript = dlg.exec_() != QDialog.Accepted 165 deleteScript = dlg.exec_() != QDialog.Accepted
161 else: 166 else:
162 E5MessageBox.information(None, 167 E5MessageBox.information(
168 None,
163 self.trUtf8("GreaseMonkey Download"), 169 self.trUtf8("GreaseMonkey Download"),
164 self.trUtf8( 170 self.trUtf8(
165 """<p><b>{0}</b> is already installed.</p>""") 171 """<p><b>{0}</b> is already installed.</p>""")
166 .format(script.name())) 172 .format(script.name()))
167 173

eric ide

mercurial