Helpviewer/GreaseMonkey/GreaseMonkeyDownloader.py

changeset 2403
e3d7a861547c
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 3002
6ffc581f00f1
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
14 from PyQt4.QtNetwork import QNetworkReply 14 from PyQt4.QtNetwork import QNetworkReply
15 15
16 from E5Gui import E5MessageBox 16 from E5Gui import E5MessageBox
17 17
18 import Helpviewer.HelpWindow 18 import Helpviewer.HelpWindow
19 from Helpviewer import HelpUtilities
20 from Helpviewer.Network.FollowRedirectReply import FollowRedirectReply 19 from Helpviewer.Network.FollowRedirectReply import FollowRedirectReply
21
22 from .GreaseMonkeyScript import GreaseMonkeyScript
23 from .GreaseMonkeyAddScriptDialog import GreaseMonkeyAddScriptDialog
24 20
25 21
26 class GreaseMonkeyDownloader(QObject): 22 class GreaseMonkeyDownloader(QObject):
27 """ 23 """
28 Class implementing the downloader for GreaseMonkey scripts. 24 Class implementing the downloader for GreaseMonkey scripts.
57 53
58 response = bytes(self.__reply.readAll()).decode() 54 response = bytes(self.__reply.readAll()).decode()
59 55
60 if self.__reply.error() == QNetworkReply.NoError and \ 56 if self.__reply.error() == QNetworkReply.NoError and \
61 "// ==UserScript==" in response: 57 "// ==UserScript==" in response:
58 from Helpviewer import HelpUtilities
62 filePath = os.path.join(self.__manager.scriptsDirectory(), 59 filePath = os.path.join(self.__manager.scriptsDirectory(),
63 HelpUtilities.getFileNameFromUrl(self.__reply.url())) 60 HelpUtilities.getFileNameFromUrl(self.__reply.url()))
64 self.__fileName = HelpUtilities.ensureUniqueFilename(filePath) 61 self.__fileName = HelpUtilities.ensureUniqueFilename(filePath)
65 62
66 try: 63 try:
104 return 101 return
105 102
106 response = bytes(self.__reply.readAll()).decode() 103 response = bytes(self.__reply.readAll()).decode()
107 104
108 if self.__reply.error() == QNetworkReply.NoError and response: 105 if self.__reply.error() == QNetworkReply.NoError and response:
106 from Helpviewer import HelpUtilities
109 filePath = os.path.join(self.__manager.requireScriptsDirectory(), 107 filePath = os.path.join(self.__manager.requireScriptsDirectory(),
110 "require.js") 108 "require.js")
111 fileName = HelpUtilities.ensureUniqueFilename(filePath, "{0}") 109 fileName = HelpUtilities.ensureUniqueFilename(filePath, "{0}")
112 110
113 try: 111 try:
141 if self.__requireUrls: 139 if self.__requireUrls:
142 self.__reply = FollowRedirectReply(self.__requireUrls.pop(0), 140 self.__reply = FollowRedirectReply(self.__requireUrls.pop(0),
143 Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) 141 Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
144 self.__reply.finished.connect(self.__requireDownloaded) 142 self.__reply.finished.connect(self.__requireDownloaded)
145 else: 143 else:
144 from .GreaseMonkeyScript import GreaseMonkeyScript
146 deleteScript = True 145 deleteScript = True
147 script = GreaseMonkeyScript(self.__manager, self.__fileName) 146 script = GreaseMonkeyScript(self.__manager, self.__fileName)
148 147
149 if script.isValid(): 148 if script.isValid():
150 if not self.__manager.containsScript(script.fullName()): 149 if not self.__manager.containsScript(script.fullName()):
150 from .GreaseMonkeyAddScriptDialog import GreaseMonkeyAddScriptDialog
151 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script) 151 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script)
152 deleteScript = dlg.exec_() != QDialog.Accepted 152 deleteScript = dlg.exec_() != QDialog.Accepted
153 else: 153 else:
154 E5MessageBox.information(None, 154 E5MessageBox.information(None,
155 self.trUtf8("GreaseMonkey Download"), 155 self.trUtf8("GreaseMonkey Download"),

eric ide

mercurial