src/eric7/WebBrowser/VirusTotal/VirusTotalApi.py

branch
eric7
changeset 9413
80c06d472826
parent 9278
36448ca469c2
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9412:45e7bb09c120 9413:80c06d472826
12 import json 12 import json
13 13
14 from PyQt6.QtCore import pyqtSignal, QObject, QUrl, QUrlQuery, QByteArray 14 from PyQt6.QtCore import pyqtSignal, QObject, QUrl, QUrlQuery, QByteArray
15 from PyQt6.QtNetwork import QNetworkRequest, QNetworkReply 15 from PyQt6.QtNetwork import QNetworkRequest, QNetworkReply
16 16
17 from EricWidgets import EricMessageBox 17 from eric7.EricWidgets import EricMessageBox
18 18
19 import Preferences 19 from eric7 import Preferences
20
21 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow
20 22
21 23
22 class VirusTotalAPI(QObject): 24 class VirusTotalAPI(QObject):
23 """ 25 """
24 Class implementing the <a href="http://www.virustotal.com">VirusTotal</a> 26 Class implementing the <a href="http://www.virustotal.com">VirusTotal</a>
119 "apikey={0}&resource={1}".format(key, self.TestServiceKeyScanID).encode( 121 "apikey={0}&resource={1}".format(key, self.TestServiceKeyScanID).encode(
120 "utf-8" 122 "utf-8"
121 ) 123 )
122 ) 124 )
123 125
124 import WebBrowser.WebBrowserWindow 126 nam = WebBrowserWindow.networkManager()
125
126 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
127 reply = nam.post(request, params) 127 reply = nam.post(request, params)
128 reply.finished.connect(lambda: self.__checkServiceKeyValidityFinished(reply)) 128 reply.finished.connect(lambda: self.__checkServiceKeyValidityFinished(reply))
129 self.__replies.append(reply) 129 self.__replies.append(reply)
130 130
131 def __checkServiceKeyValidityFinished(self, reply): 131 def __checkServiceKeyValidityFinished(self, reply):
164 "apikey={0}&url=".format( 164 "apikey={0}&url=".format(
165 Preferences.getWebBrowser("VirusTotalServiceKey") 165 Preferences.getWebBrowser("VirusTotalServiceKey")
166 ).encode("utf-8") 166 ).encode("utf-8")
167 ).append(QUrl.toPercentEncoding(url.toString())) 167 ).append(QUrl.toPercentEncoding(url.toString()))
168 168
169 import WebBrowser.WebBrowserWindow 169 nam = WebBrowserWindow.networkManager()
170
171 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
172 reply = nam.post(request, params) 170 reply = nam.post(request, params)
173 reply.finished.connect(lambda: self.__submitUrlFinished(reply)) 171 reply.finished.connect(lambda: self.__submitUrlFinished(reply))
174 self.__replies.append(reply) 172 self.__replies.append(reply)
175 173
176 def __submitUrlFinished(self, reply): 174 def __submitUrlFinished(self, reply):
214 "apikey={0}&resource={1}".format( 212 "apikey={0}&resource={1}".format(
215 Preferences.getWebBrowser("VirusTotalServiceKey"), scanId 213 Preferences.getWebBrowser("VirusTotalServiceKey"), scanId
216 ).encode("utf-8") 214 ).encode("utf-8")
217 ) 215 )
218 216
219 import WebBrowser.WebBrowserWindow 217 nam = WebBrowserWindow.networkManager()
220
221 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
222 reply = nam.post(request, params) 218 reply = nam.post(request, params)
223 reply.finished.connect(lambda: self.__getUrlScanReportUrlFinished(reply)) 219 reply.finished.connect(lambda: self.__getUrlScanReportUrlFinished(reply))
224 self.__replies.append(reply) 220 self.__replies.append(reply)
225 221
226 def __getUrlScanReportUrlFinished(self, reply): 222 def __getUrlScanReportUrlFinished(self, reply):
253 "apikey={0}&resource={1}".format( 249 "apikey={0}&resource={1}".format(
254 Preferences.getWebBrowser("VirusTotalServiceKey"), scanId 250 Preferences.getWebBrowser("VirusTotalServiceKey"), scanId
255 ).encode("utf-8") 251 ).encode("utf-8")
256 ) 252 )
257 253
258 import WebBrowser.WebBrowserWindow 254 nam = WebBrowserWindow.networkManager()
259
260 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
261 reply = nam.post(request, params) 255 reply = nam.post(request, params)
262 reply.finished.connect(lambda: self.__getFileScanReportUrlFinished(reply)) 256 reply.finished.connect(lambda: self.__getFileScanReportUrlFinished(reply))
263 self.__replies.append(reply) 257 self.__replies.append(reply)
264 258
265 def __getFileScanReportUrlFinished(self, reply): 259 def __getFileScanReportUrlFinished(self, reply):
293 query = QUrlQuery() 287 query = QUrlQuery()
294 query.setQueryItems(queryItems) 288 query.setQueryItems(queryItems)
295 url.setQuery(query) 289 url.setQuery(query)
296 request = QNetworkRequest(url) 290 request = QNetworkRequest(url)
297 291
298 import WebBrowser.WebBrowserWindow 292 nam = WebBrowserWindow.networkManager()
299
300 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
301 reply = nam.get(request) 293 reply = nam.get(request)
302 reply.finished.connect(lambda: self.__getIpAddressReportFinished(reply)) 294 reply.finished.connect(lambda: self.__getIpAddressReportFinished(reply))
303 self.__replies.append(reply) 295 self.__replies.append(reply)
304 296
305 def __getIpAddressReportFinished(self, reply): 297 def __getIpAddressReportFinished(self, reply):
360 query = QUrlQuery() 352 query = QUrlQuery()
361 query.setQueryItems(queryItems) 353 query.setQueryItems(queryItems)
362 url.setQuery(query) 354 url.setQuery(query)
363 request = QNetworkRequest(url) 355 request = QNetworkRequest(url)
364 356
365 import WebBrowser.WebBrowserWindow 357 nam = WebBrowserWindow.networkManager()
366
367 nam = WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()
368 reply = nam.get(request) 358 reply = nam.get(request)
369 reply.finished.connect(lambda: self.__getDomainReportFinished(reply)) 359 reply.finished.connect(lambda: self.__getDomainReportFinished(reply))
370 self.__replies.append(reply) 360 self.__replies.append(reply)
371 361
372 def __getDomainReportFinished(self, reply): 362 def __getDomainReportFinished(self, reply):

eric ide

mercurial