Fixed a few issues in the AdBlock subscription loader.

Sun, 26 Jul 2015 19:02:11 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 26 Jul 2015 19:02:11 +0200
changeset 4339
c2d1da8d2a05
parent 4337
c29bb9f31972
child 4341
1ff0929aab09

Fixed a few issues in the AdBlock subscription loader.

Helpviewer/AdBlock/AdBlockAccessHandler.py file | annotate | diff | comparison | revisions
Helpviewer/AdBlock/AdBlockSubscription.py file | annotate | diff | comparison | revisions
--- a/Helpviewer/AdBlock/AdBlockAccessHandler.py	Sun Jul 26 11:14:27 2015 +0200
+++ b/Helpviewer/AdBlock/AdBlockAccessHandler.py	Sun Jul 26 19:02:11 2015 +0200
@@ -9,7 +9,7 @@
 
 from __future__ import unicode_literals
 
-from PyQt5.QtCore import qVersion
+from PyQt5.QtCore import qVersion, QByteArray
 from PyQt5.QtNetwork import QNetworkAccessManager
 
 from E5Gui import E5MessageBox
@@ -41,12 +41,13 @@
             return None
         
         if qVersion() >= "5.0.0":
-            from PyQt5.QtCore import QUrlQuery
-            title = QUrlQuery(url).queryItemValue("title")
+            from PyQt5.QtCore import QUrlQuery, QUrl
+            title = QUrl.fromPercentEncoding(
+                QByteArray(QUrlQuery(url).queryItemValue("title").encode()))
         else:
             from PyQt5.QtCore import QUrl
             title = QUrl.fromPercentEncoding(
-                url.encodedQueryItemValue("title"))
+                url.encodedQueryItemValue(b"title"))
         if not title:
             return None
         res = E5MessageBox.yesNo(
--- a/Helpviewer/AdBlock/AdBlockSubscription.py	Sun Jul 26 11:14:27 2015 +0200
+++ b/Helpviewer/AdBlock/AdBlockSubscription.py	Sun Jul 26 19:02:11 2015 +0200
@@ -116,15 +116,19 @@
         if qVersion() >= "5.0.0":
             from PyQt5.QtCore import QUrlQuery
             urlQuery = QUrlQuery(url)
-            self.__title = urlQuery.queryItemValue("title")
+            self.__title = QUrl.fromPercentEncoding(
+                QByteArray(urlQuery.queryItemValue("title").encode()))
             self.__enabled = urlQuery.queryItemValue("enabled") != "false"
-            self.__location = QByteArray(urlQuery.queryItemValue("location")
-                                         .encode("utf-8"))
+            self.__location = QByteArray(QUrl.fromPercentEncoding(
+                QByteArray(urlQuery.queryItemValue("location").encode()))
+                .encode("utf-8"))
             
             # Check for required subscription
-            self.__requiresLocation = urlQuery.queryItemValue(
-                "requiresLocation")
-            self.__requiresTitle = urlQuery.queryItemValue("requiresTitle")
+            self.__requiresLocation = QUrl.fromPercentEncoding(
+                QByteArray(urlQuery.queryItemValue(
+                "requiresLocation").encode()))
+            self.__requiresTitle = QUrl.fromPercentEncoding(
+                QByteArray(urlQuery.queryItemValue("requiresTitle").encode()))
             if self.__requiresLocation and self.__requiresTitle:
                 import Helpviewer.HelpWindow
                 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
@@ -136,24 +140,24 @@
                                                      Qt.ISODate)
         else:
             self.__title = \
-                QUrl.fromPercentEncoding(url.encodedQueryItemValue("title"))
+                QUrl.fromPercentEncoding(url.encodedQueryItemValue(b"title"))
             self.__enabled = QUrl.fromPercentEncoding(
-                url.encodedQueryItemValue("enabled")) != "false"
+                url.encodedQueryItemValue(b"enabled")) != "false"
             self.__location = QByteArray(QUrl.fromPercentEncoding(
-                url.encodedQueryItemValue("location")).encode("utf-8"))
+                url.encodedQueryItemValue(b"location")).encode("utf-8"))
             
             # Check for required subscription
             self.__requiresLocation = QUrl.fromPercentEncoding(
-                url.encodedQueryItemValue("requiresLocation"))
+                url.encodedQueryItemValue(b"requiresLocation"))
             self.__requiresTitle = QUrl.fromPercentEncoding(
-                url.encodedQueryItemValue("requiresTitle"))
+                url.encodedQueryItemValue(b"requiresTitle"))
             if self.__requiresLocation and self.__requiresTitle:
                 import Helpviewer.HelpWindow
                 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
                     .loadRequiredSubscription(self.__requiresLocation,
                                               self.__requiresTitle)
             
-            lastUpdateByteArray = url.encodedQueryItemValue("lastUpdate")
+            lastUpdateByteArray = url.encodedQueryItemValue(b"lastUpdate")
             lastUpdateString = QUrl.fromPercentEncoding(lastUpdateByteArray)
             self.__lastUpdate = QDateTime.fromString(lastUpdateString,
                                                      Qt.ISODate)
@@ -443,6 +447,7 @@
         else:
             QFile.remove(fileName)
         self.__downloading = None
+        reply.deleteLater()
     
     def __validateCheckSum(self, fileName):
         """

eric ide

mercurial