Helpviewer/AdBlock/AdBlockSubscription.py

changeset 3776
ccb6eacb50e5
parent 3702
dabc69b82c7c
child 4021
195a471c327b
diff -r 285e5aa860a0 -r ccb6eacb50e5 Helpviewer/AdBlock/AdBlockSubscription.py
--- a/Helpviewer/AdBlock/AdBlockSubscription.py	Sat Sep 06 14:22:41 2014 +0200
+++ b/Helpviewer/AdBlock/AdBlockSubscription.py	Sun Sep 07 19:57:40 2014 +0200
@@ -15,8 +15,8 @@
 import base64
 
 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QByteArray, QDateTime, \
-    QUrl, QUrlQuery, QCryptographicHash, QFile, QIODevice, QTextStream, \
-    QDate, QTime
+    QUrl, QCryptographicHash, QFile, QIODevice, QTextStream, QDate, QTime, \
+    qVersion
 from PyQt5.QtNetwork import QNetworkReply
 
 from E5Gui import E5MessageBox
@@ -113,22 +113,49 @@
         if url.path() != "subscribe":
             return
         
-        urlQuery = QUrlQuery(url)
-        self.__title = urlQuery.queryItemValue("title")
-        self.__enabled = urlQuery.queryItemValue("enabled") != "false"
-        self.__location = QByteArray(urlQuery.queryItemValue("location"))
-        
-        # Check for required subscription
-        self.__requiresLocation = urlQuery.queryItemValue("requiresLocation")
-        self.__requiresTitle = urlQuery.queryItemValue("requiresTitle")
-        if self.__requiresLocation and self.__requiresTitle:
-            import Helpviewer.HelpWindow
-            Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
-                .loadRequiredSubscription(self.__requiresLocation,
-                                          self.__requiresTitle)
-        
-        lastUpdateString = urlQuery.queryItemValue("lastUpdate")
-        self.__lastUpdate = QDateTime.fromString(lastUpdateString, Qt.ISODate)
+        if qVersion() >= "5.0.0":
+            from PyQt5.QtCore import QUrlQuery
+            urlQuery = QUrlQuery(url)
+            self.__title = urlQuery.queryItemValue("title")
+            self.__enabled = urlQuery.queryItemValue("enabled") != "false"
+            self.__location = QByteArray(urlQuery.queryItemValue("location"))
+            
+            # Check for required subscription
+            self.__requiresLocation = urlQuery.queryItemValue(
+                "requiresLocation")
+            self.__requiresTitle = urlQuery.queryItemValue("requiresTitle")
+            if self.__requiresLocation and self.__requiresTitle:
+                import Helpviewer.HelpWindow
+                Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
+                    .loadRequiredSubscription(self.__requiresLocation,
+                                              self.__requiresTitle)
+            
+            lastUpdateString = urlQuery.queryItemValue("lastUpdate")
+            self.__lastUpdate = QDateTime.fromString(lastUpdateString,
+                                                     Qt.ISODate)
+        else:
+            self.__title = \
+                QUrl.fromPercentEncoding(url.encodedQueryItemValue("title"))
+            self.__enabled = QUrl.fromPercentEncoding(
+                url.encodedQueryItemValue("enabled")) != "false"
+            self.__location = QByteArray(QUrl.fromPercentEncoding(
+                url.encodedQueryItemValue("location")))
+            
+            # Check for required subscription
+            self.__requiresLocation = QUrl.fromPercentEncoding(
+                url.encodedQueryItemValue("requiresLocation"))
+            self.__requiresTitle = QUrl.fromPercentEncoding(
+                url.encodedQueryItemValue("requiresTitle"))
+            if self.__requiresLocation and self.__requiresTitle:
+                import Helpviewer.HelpWindow
+                Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
+                    .loadRequiredSubscription(self.__requiresLocation,
+                                              self.__requiresTitle)
+            
+            lastUpdateByteArray = url.encodedQueryItemValue("lastUpdate")
+            lastUpdateString = QUrl.fromPercentEncoding(lastUpdateByteArray)
+            self.__lastUpdate = QDateTime.fromString(lastUpdateString,
+                                                     Qt.ISODate)
         
         self.__loadRules()
     
@@ -153,9 +180,13 @@
         if self.__lastUpdate.isValid():
             queryItems.append(("lastUpdate",
                                self.__lastUpdate.toString(Qt.ISODate)))
-        query = QUrlQuery()
-        query.setQueryItems(queryItems)
-        url.setQuery(query)
+        if qVersion() >= "5.0.0":
+            from PyQt5.QtCore import QUrlQuery
+            query = QUrlQuery()
+            query.setQueryItems(queryItems)
+            url.setQuery(query)
+        else:
+            url.setQueryItems(queryItems)
         return url
     
     def isEnabled(self):

eric ide

mercurial