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.trUtf8("Load subscription rules"), |
273 self.trUtf8( |
273 self.trUtf8( |
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.trUtf8("Load subscription rules"), |
283 self.trUtf8("""AdBlock file '{0}' does not start""" |
283 self.trUtf8("""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: |
290 from .AdBlockRule import AdBlockRule |
290 from .AdBlockRule import AdBlockRule |
331 if self.__updatePeriod: |
331 if self.__updatePeriod: |
332 updatePeriod = self.__updatePeriod |
332 updatePeriod = self.__updatePeriod |
333 else: |
333 else: |
334 updatePeriod = Preferences.getHelp("AdBlockUpdatePeriod") * 24 |
334 updatePeriod = Preferences.getHelp("AdBlockUpdatePeriod") * 24 |
335 if not self.__lastUpdate.isValid() or \ |
335 if not self.__lastUpdate.isValid() or \ |
336 (self.__remoteModified.isValid() and \ |
336 (self.__remoteModified.isValid() and |
337 self.__remoteModified.addSecs(updatePeriod * 3600) < \ |
337 self.__remoteModified.addSecs(updatePeriod * 3600) < |
338 QDateTime.currentDateTime()) or \ |
338 QDateTime.currentDateTime()) or \ |
339 self.__lastUpdate.addSecs(updatePeriod * 3600) < \ |
339 self.__lastUpdate.addSecs(updatePeriod * 3600) < \ |
340 QDateTime.currentDateTime(): |
340 QDateTime.currentDateTime(): |
341 self.updateNow() |
341 self.updateNow() |
342 |
342 |
379 None, |
379 None, |
380 self.trUtf8("Downloading subscription rules"), |
380 self.trUtf8("Downloading subscription rules"), |
381 self.trUtf8( |
381 self.trUtf8( |
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 |
387 self.__defaultSubscription = False |
387 self.__defaultSubscription = False |
388 return |
388 return |
389 |
389 |
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.trUtf8("Downloading subscription rules"), |
404 self.trUtf8( |
404 self.trUtf8( |
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() |
410 self.__lastUpdate = QDateTime.currentDateTime() |
410 self.__lastUpdate = QDateTime.currentDateTime() |
411 if self.__validateCheckSum(fileName): |
411 if self.__validateCheckSum(fileName): |
456 self.trUtf8( |
456 self.trUtf8( |
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>""") |
462 .format(self.__title, expectedChecksum, |
462 .format(self.__title, expectedChecksum, |
463 calculatedChecksum)) |
463 calculatedChecksum)) |
464 return res |
464 return res |
465 |
465 |
466 def saveRules(self): |
466 def saveRules(self): |
467 """ |
467 """ |
468 Public method to save the subscription rules. |
468 Public method to save the subscription rules. |
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.trUtf8("Saving subscription rules"), |
479 self.trUtf8( |
479 self.trUtf8( |
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) |
485 if not self.__rules or not self.__rules[0].isHeader(): |
485 if not self.__rules or not self.__rules[0].isHeader(): |
486 textStream << "[Adblock Plus 1.1.1]\n" |
486 textStream << "[Adblock Plus 1.1.1]\n" |