30 def __init__(self, request, manager): |
30 def __init__(self, request, manager): |
31 """ |
31 """ |
32 Constructor |
32 Constructor |
33 |
33 |
34 @param request reference to the request object (QNetworkRequest) |
34 @param request reference to the request object (QNetworkRequest) |
35 @param manager reference to the GreaseMonkey manager (GreaseMonkeyManager) |
35 @param manager reference to the GreaseMonkey manager |
|
36 (GreaseMonkeyManager) |
36 """ |
37 """ |
37 super(GreaseMonkeyDownloader, self).__init__() |
38 super(GreaseMonkeyDownloader, self).__init__() |
38 |
39 |
39 self.__manager = manager |
40 self.__manager = manager |
40 |
41 |
65 try: |
66 try: |
66 f = open(self.__fileName, "w", encoding="utf-8") |
67 f = open(self.__fileName, "w", encoding="utf-8") |
67 except (IOError, OSError) as err: |
68 except (IOError, OSError) as err: |
68 E5MessageBox.critical(None, |
69 E5MessageBox.critical(None, |
69 self.trUtf8("GreaseMonkey Download"), |
70 self.trUtf8("GreaseMonkey Download"), |
70 self.trUtf8("""<p>The file <b>{0}</b> could not be opened""" |
71 self.trUtf8( |
71 """ for writing.<br/>Reason: {1}</p>""").format( |
72 """<p>The file <b>{0}</b> could not be opened""" |
72 self.__fileName, str(err))) |
73 """ for writing.<br/>Reason: {1}</p>""").format( |
|
74 self.__fileName, str(err))) |
73 self.finished.emit() |
75 self.finished.emit() |
74 return |
76 return |
75 f.write(response) |
77 f.write(response) |
76 f.close() |
78 f.close() |
77 |
79 |
78 settings = QSettings(os.path.join(self.__manager.requireScriptsDirectory(), |
80 settings = QSettings( |
79 "requires.ini"), |
81 os.path.join(self.__manager.requireScriptsDirectory(), |
80 QSettings.IniFormat) |
82 "requires.ini"), |
|
83 QSettings.IniFormat) |
81 settings.beginGroup("Files") |
84 settings.beginGroup("Files") |
82 |
85 |
83 rx = QRegExp("@require(.*)\\n") |
86 rx = QRegExp("@require(.*)\\n") |
84 rx.setMinimal(True) |
87 rx.setMinimal(True) |
85 rx.indexIn(response) |
88 rx.indexIn(response) |
113 try: |
116 try: |
114 f = open(fileName, "w", encoding="utf-8") |
117 f = open(fileName, "w", encoding="utf-8") |
115 except (IOError, OSError) as err: |
118 except (IOError, OSError) as err: |
116 E5MessageBox.critical(None, |
119 E5MessageBox.critical(None, |
117 self.trUtf8("GreaseMonkey Download"), |
120 self.trUtf8("GreaseMonkey Download"), |
118 self.trUtf8("""<p>The file <b>{0}</b> could not be opened""" |
121 self.trUtf8( |
119 """ for writing.<br/>Reason: {1}</p>""").format( |
122 """<p>The file <b>{0}</b> could not be opened""" |
120 fileName, str(err))) |
123 """ for writing.<br/>Reason: {1}</p>""").format( |
|
124 fileName, str(err))) |
121 self.finished.emit() |
125 self.finished.emit() |
122 return |
126 return |
123 f.write(response) |
127 f.write(response) |
124 f.close() |
128 f.close() |
125 |
129 |
126 settings = QSettings(os.path.join(self.__manager.requireScriptsDirectory(), |
130 settings = QSettings( |
127 "requires.ini"), |
131 os.path.join(self.__manager.requireScriptsDirectory(), |
128 QSettings.IniFormat) |
132 "requires.ini"), |
|
133 QSettings.IniFormat) |
129 settings.beginGroup("Files") |
134 settings.beginGroup("Files") |
130 settings.setValue(self.__reply.originalUrl().toString(), fileName) |
135 settings.setValue(self.__reply.originalUrl().toString(), fileName) |
131 |
136 |
132 self.__reply.deleteLater() |
137 self.__reply.deleteLater() |
133 self.__reply = None |
138 self.__reply = None |
147 deleteScript = True |
152 deleteScript = True |
148 script = GreaseMonkeyScript(self.__manager, self.__fileName) |
153 script = GreaseMonkeyScript(self.__manager, self.__fileName) |
149 |
154 |
150 if script.isValid(): |
155 if script.isValid(): |
151 if not self.__manager.containsScript(script.fullName()): |
156 if not self.__manager.containsScript(script.fullName()): |
152 from .GreaseMonkeyAddScriptDialog import GreaseMonkeyAddScriptDialog |
157 from .GreaseMonkeyAddScriptDialog import \ |
|
158 GreaseMonkeyAddScriptDialog |
153 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script) |
159 dlg = GreaseMonkeyAddScriptDialog(self.__manager, script) |
154 deleteScript = dlg.exec_() != QDialog.Accepted |
160 deleteScript = dlg.exec_() != QDialog.Accepted |
155 else: |
161 else: |
156 E5MessageBox.information(None, |
162 E5MessageBox.information(None, |
157 self.trUtf8("GreaseMonkey Download"), |
163 self.trUtf8("GreaseMonkey Download"), |
158 self.trUtf8("""<p><b>{0}</b> is already installed.</p>""") |
164 self.trUtf8( |
|
165 """<p><b>{0}</b> is already installed.</p>""") |
159 .format(script.name())) |
166 .format(script.name())) |
160 |
167 |
161 if deleteScript: |
168 if deleteScript: |
162 try: |
169 try: |
163 os.remove(self.__fileName) |
170 os.remove(self.__fileName) |