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