267 f = QFile(fileName) |
267 f = QFile(fileName) |
268 if f.exists(): |
268 if f.exists(): |
269 if not f.open(QIODevice.ReadOnly): |
269 if not f.open(QIODevice.ReadOnly): |
270 E5MessageBox.warning( |
270 E5MessageBox.warning( |
271 None, |
271 None, |
272 self.trUtf8("Load subscription rules"), |
272 self.tr("Load subscription rules"), |
273 self.trUtf8( |
273 self.tr( |
274 """Unable to open adblock file '{0}' for reading.""") |
274 """Unable to open adblock file '{0}' for reading.""") |
275 .format(fileName)) |
275 .format(fileName)) |
276 else: |
276 else: |
277 textStream = QTextStream(f) |
277 textStream = QTextStream(f) |
278 header = textStream.readLine(1024) |
278 header = textStream.readLine(1024) |
279 if not header.startswith("[Adblock"): |
279 if not header.startswith("[Adblock"): |
280 E5MessageBox.warning( |
280 E5MessageBox.warning( |
281 None, |
281 None, |
282 self.trUtf8("Load subscription rules"), |
282 self.tr("Load subscription rules"), |
283 self.trUtf8("""AdBlock file '{0}' does not start""" |
283 self.tr("""AdBlock file '{0}' does not start""" |
284 """ with [Adblock.""") |
284 """ with [Adblock.""") |
285 .format(fileName)) |
285 .format(fileName)) |
286 f.close() |
286 f.close() |
287 f.remove() |
287 f.remove() |
288 self.__lastUpdate = QDateTime() |
288 self.__lastUpdate = QDateTime() |
289 else: |
289 else: |
358 import Helpviewer.HelpWindow |
358 import Helpviewer.HelpWindow |
359 from Helpviewer.Network.FollowRedirectReply import FollowRedirectReply |
359 from Helpviewer.Network.FollowRedirectReply import FollowRedirectReply |
360 self.__downloading = FollowRedirectReply( |
360 self.__downloading = FollowRedirectReply( |
361 self.location(), |
361 self.location(), |
362 Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) |
362 Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) |
363 self.__downloading.finished[()].connect(self.__rulesDownloaded) |
363 self.__downloading.finished.connect(self.__rulesDownloaded) |
364 |
364 |
365 def __rulesDownloaded(self): |
365 def __rulesDownloaded(self): |
366 """ |
366 """ |
367 Private slot to deal with the downloaded rules. |
367 Private slot to deal with the downloaded rules. |
368 """ |
368 """ |
375 if reply.error() != QNetworkReply.NoError: |
375 if reply.error() != QNetworkReply.NoError: |
376 if not self.__defaultSubscription: |
376 if not self.__defaultSubscription: |
377 # don't show error if we try to load the default |
377 # don't show error if we try to load the default |
378 E5MessageBox.warning( |
378 E5MessageBox.warning( |
379 None, |
379 None, |
380 self.trUtf8("Downloading subscription rules"), |
380 self.tr("Downloading subscription rules"), |
381 self.trUtf8( |
381 self.tr( |
382 """<p>Subscription rules could not be""" |
382 """<p>Subscription rules could not be""" |
383 """ downloaded.</p><p>Error: {0}</p>""") |
383 """ downloaded.</p><p>Error: {0}</p>""") |
384 .format(reply.errorString())) |
384 .format(reply.errorString())) |
385 else: |
385 else: |
386 # reset after first download attempt |
386 # reset after first download attempt |
388 return |
388 return |
389 |
389 |
390 if response.isEmpty(): |
390 if response.isEmpty(): |
391 E5MessageBox.warning( |
391 E5MessageBox.warning( |
392 None, |
392 None, |
393 self.trUtf8("Downloading subscription rules"), |
393 self.tr("Downloading subscription rules"), |
394 self.trUtf8("""Got empty subscription rules.""")) |
394 self.tr("""Got empty subscription rules.""")) |
395 return |
395 return |
396 |
396 |
397 fileName = self.rulesFileName() |
397 fileName = self.rulesFileName() |
398 QFile.remove(fileName) |
398 QFile.remove(fileName) |
399 f = QFile(fileName) |
399 f = QFile(fileName) |
400 if not f.open(QIODevice.ReadWrite): |
400 if not f.open(QIODevice.ReadWrite): |
401 E5MessageBox.warning( |
401 E5MessageBox.warning( |
402 None, |
402 None, |
403 self.trUtf8("Downloading subscription rules"), |
403 self.tr("Downloading subscription rules"), |
404 self.trUtf8( |
404 self.tr( |
405 """Unable to open adblock file '{0}' for writing.""") |
405 """Unable to open adblock file '{0}' for writing.""") |
406 .file(fileName)) |
406 .file(fileName)) |
407 return |
407 return |
408 f.write(response) |
408 f.write(response) |
409 f.close() |
409 f.close() |
450 if calculatedChecksum == expectedChecksum: |
450 if calculatedChecksum == expectedChecksum: |
451 return True |
451 return True |
452 else: |
452 else: |
453 res = E5MessageBox.yesNo( |
453 res = E5MessageBox.yesNo( |
454 None, |
454 None, |
455 self.trUtf8("Downloading subscription rules"), |
455 self.tr("Downloading subscription rules"), |
456 self.trUtf8( |
456 self.tr( |
457 """<p>AdBlock subscription <b>{0}</b> has a wrong""" |
457 """<p>AdBlock subscription <b>{0}</b> has a wrong""" |
458 """ checksum.<br/>""" |
458 """ checksum.<br/>""" |
459 """Found: {1}<br/>""" |
459 """Found: {1}<br/>""" |
460 """Calculated: {2}<br/>""" |
460 """Calculated: {2}<br/>""" |
461 """Use it anyway?</p>""") |
461 """Use it anyway?</p>""") |
473 |
473 |
474 f = QFile(fileName) |
474 f = QFile(fileName) |
475 if not f.open(QIODevice.ReadWrite | QIODevice.Truncate): |
475 if not f.open(QIODevice.ReadWrite | QIODevice.Truncate): |
476 E5MessageBox.warning( |
476 E5MessageBox.warning( |
477 None, |
477 None, |
478 self.trUtf8("Saving subscription rules"), |
478 self.tr("Saving subscription rules"), |
479 self.trUtf8( |
479 self.tr( |
480 """Unable to open adblock file '{0}' for writing.""") |
480 """Unable to open adblock file '{0}' for writing.""") |
481 .format(fileName)) |
481 .format(fileName)) |
482 return |
482 return |
483 |
483 |
484 textStream = QTextStream(f) |
484 textStream = QTextStream(f) |