Helpviewer/GreaseMonkey/GreaseMonkeyDownloader.py

changeset 3002
6ffc581f00f1
parent 2403
e3d7a861547c
child 3020
542e97d4ecb3
child 3057
10516539f238
equal deleted inserted replaced
3001:3674ff5fa8f8 3002:6ffc581f00f1
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)

eric ide

mercurial