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 |