Helpviewer/AdBlock/AdBlockSubscription.py

changeset 3020
542e97d4ecb3
parent 3000
971d84f7a6d6
child 3022
57179e4cdadd
equal deleted inserted replaced
3019:7912530a33e2 3020:542e97d4ecb3
263 """ 263 """
264 fileName = self.rulesFileName() 264 fileName = self.rulesFileName()
265 f = QFile(fileName) 265 f = QFile(fileName)
266 if f.exists(): 266 if f.exists():
267 if not f.open(QIODevice.ReadOnly): 267 if not f.open(QIODevice.ReadOnly):
268 E5MessageBox.warning(None, 268 E5MessageBox.warning(
269 None,
269 self.trUtf8("Load subscription rules"), 270 self.trUtf8("Load subscription rules"),
270 self.trUtf8( 271 self.trUtf8(
271 """Unable to open adblock file '{0}' for reading.""")\ 272 """Unable to open adblock file '{0}' for reading.""")\
272 .format(fileName)) 273 .format(fileName))
273 else: 274 else:
274 textStream = QTextStream(f) 275 textStream = QTextStream(f)
275 header = textStream.readLine(1024) 276 header = textStream.readLine(1024)
276 if not header.startswith("[Adblock"): 277 if not header.startswith("[Adblock"):
277 E5MessageBox.warning(None, 278 E5MessageBox.warning(
279 None,
278 self.trUtf8("Load subscription rules"), 280 self.trUtf8("Load subscription rules"),
279 self.trUtf8("""AdBlock file '{0}' does not start""" 281 self.trUtf8("""AdBlock file '{0}' does not start"""
280 """ with [Adblock.""")\ 282 """ with [Adblock.""")\
281 .format(fileName)) 283 .format(fileName))
282 f.close() 284 f.close()
368 self.__downloading = None 370 self.__downloading = None
369 371
370 if reply.error() != QNetworkReply.NoError: 372 if reply.error() != QNetworkReply.NoError:
371 if not self.__defaultSubscription: 373 if not self.__defaultSubscription:
372 # don't show error if we try to load the default 374 # don't show error if we try to load the default
373 E5MessageBox.warning(None, 375 E5MessageBox.warning(
376 None,
374 self.trUtf8("Downloading subscription rules"), 377 self.trUtf8("Downloading subscription rules"),
375 self.trUtf8( 378 self.trUtf8(
376 """<p>Subscription rules could not be""" 379 """<p>Subscription rules could not be"""
377 """ downloaded.</p><p>Error: {0}</p>""") 380 """ downloaded.</p><p>Error: {0}</p>""")
378 .format(reply.errorString())) 381 .format(reply.errorString()))
380 # reset after first download attempt 383 # reset after first download attempt
381 self.__defaultSubscription = False 384 self.__defaultSubscription = False
382 return 385 return
383 386
384 if response.isEmpty(): 387 if response.isEmpty():
385 E5MessageBox.warning(None, 388 E5MessageBox.warning(
389 None,
386 self.trUtf8("Downloading subscription rules"), 390 self.trUtf8("Downloading subscription rules"),
387 self.trUtf8("""Got empty subscription rules.""")) 391 self.trUtf8("""Got empty subscription rules."""))
388 return 392 return
389 393
390 fileName = self.rulesFileName() 394 fileName = self.rulesFileName()
391 QFile.remove(fileName) 395 QFile.remove(fileName)
392 f = QFile(fileName) 396 f = QFile(fileName)
393 if not f.open(QIODevice.ReadWrite): 397 if not f.open(QIODevice.ReadWrite):
394 E5MessageBox.warning(None, 398 E5MessageBox.warning(
399 None,
395 self.trUtf8("Downloading subscription rules"), 400 self.trUtf8("Downloading subscription rules"),
396 self.trUtf8( 401 self.trUtf8(
397 """Unable to open adblock file '{0}' for writing.""")\ 402 """Unable to open adblock file '{0}' for writing.""")\
398 .file(fileName)) 403 .file(fileName))
399 return 404 return
440 calculatedChecksum = base64.b64encode(md5.digest()).decode()\ 445 calculatedChecksum = base64.b64encode(md5.digest()).decode()\
441 .rstrip("=") 446 .rstrip("=")
442 if calculatedChecksum == expectedChecksum: 447 if calculatedChecksum == expectedChecksum:
443 return True 448 return True
444 else: 449 else:
445 res = E5MessageBox.yesNo(None, 450 res = E5MessageBox.yesNo(
451 None,
446 self.trUtf8("Downloading subscription rules"), 452 self.trUtf8("Downloading subscription rules"),
447 self.trUtf8( 453 self.trUtf8(
448 """<p>AdBlock subscription <b>{0}</b> has a wrong""" 454 """<p>AdBlock subscription <b>{0}</b> has a wrong"""
449 """ checksum.<br/>""" 455 """ checksum.<br/>"""
450 """Found: {1}<br/>""" 456 """Found: {1}<br/>"""
462 if not fileName: 468 if not fileName:
463 return 469 return
464 470
465 f = QFile(fileName) 471 f = QFile(fileName)
466 if not f.open(QIODevice.ReadWrite | QIODevice.Truncate): 472 if not f.open(QIODevice.ReadWrite | QIODevice.Truncate):
467 E5MessageBox.warning(None, 473 E5MessageBox.warning(
474 None,
468 self.trUtf8("Saving subscription rules"), 475 self.trUtf8("Saving subscription rules"),
469 self.trUtf8( 476 self.trUtf8(
470 """Unable to open adblock file '{0}' for writing.""")\ 477 """Unable to open adblock file '{0}' for writing.""")\
471 .format(fileName)) 478 .format(fileName))
472 return 479 return

eric ide

mercurial