Helpviewer/AdBlock/AdBlockSubscription.py

changeset 3776
ccb6eacb50e5
parent 3702
dabc69b82c7c
child 4021
195a471c327b
equal deleted inserted replaced
3774:285e5aa860a0 3776:ccb6eacb50e5
13 import re 13 import re
14 import hashlib 14 import hashlib
15 import base64 15 import base64
16 16
17 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QByteArray, QDateTime, \ 17 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QByteArray, QDateTime, \
18 QUrl, QUrlQuery, QCryptographicHash, QFile, QIODevice, QTextStream, \ 18 QUrl, QCryptographicHash, QFile, QIODevice, QTextStream, QDate, QTime, \
19 QDate, QTime 19 qVersion
20 from PyQt5.QtNetwork import QNetworkReply 20 from PyQt5.QtNetwork import QNetworkReply
21 21
22 from E5Gui import E5MessageBox 22 from E5Gui import E5MessageBox
23 23
24 import Utilities 24 import Utilities
111 return 111 return
112 112
113 if url.path() != "subscribe": 113 if url.path() != "subscribe":
114 return 114 return
115 115
116 urlQuery = QUrlQuery(url) 116 if qVersion() >= "5.0.0":
117 self.__title = urlQuery.queryItemValue("title") 117 from PyQt5.QtCore import QUrlQuery
118 self.__enabled = urlQuery.queryItemValue("enabled") != "false" 118 urlQuery = QUrlQuery(url)
119 self.__location = QByteArray(urlQuery.queryItemValue("location")) 119 self.__title = urlQuery.queryItemValue("title")
120 120 self.__enabled = urlQuery.queryItemValue("enabled") != "false"
121 # Check for required subscription 121 self.__location = QByteArray(urlQuery.queryItemValue("location"))
122 self.__requiresLocation = urlQuery.queryItemValue("requiresLocation") 122
123 self.__requiresTitle = urlQuery.queryItemValue("requiresTitle") 123 # Check for required subscription
124 if self.__requiresLocation and self.__requiresTitle: 124 self.__requiresLocation = urlQuery.queryItemValue(
125 import Helpviewer.HelpWindow 125 "requiresLocation")
126 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\ 126 self.__requiresTitle = urlQuery.queryItemValue("requiresTitle")
127 .loadRequiredSubscription(self.__requiresLocation, 127 if self.__requiresLocation and self.__requiresTitle:
128 self.__requiresTitle) 128 import Helpviewer.HelpWindow
129 129 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
130 lastUpdateString = urlQuery.queryItemValue("lastUpdate") 130 .loadRequiredSubscription(self.__requiresLocation,
131 self.__lastUpdate = QDateTime.fromString(lastUpdateString, Qt.ISODate) 131 self.__requiresTitle)
132
133 lastUpdateString = urlQuery.queryItemValue("lastUpdate")
134 self.__lastUpdate = QDateTime.fromString(lastUpdateString,
135 Qt.ISODate)
136 else:
137 self.__title = \
138 QUrl.fromPercentEncoding(url.encodedQueryItemValue("title"))
139 self.__enabled = QUrl.fromPercentEncoding(
140 url.encodedQueryItemValue("enabled")) != "false"
141 self.__location = QByteArray(QUrl.fromPercentEncoding(
142 url.encodedQueryItemValue("location")))
143
144 # Check for required subscription
145 self.__requiresLocation = QUrl.fromPercentEncoding(
146 url.encodedQueryItemValue("requiresLocation"))
147 self.__requiresTitle = QUrl.fromPercentEncoding(
148 url.encodedQueryItemValue("requiresTitle"))
149 if self.__requiresLocation and self.__requiresTitle:
150 import Helpviewer.HelpWindow
151 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
152 .loadRequiredSubscription(self.__requiresLocation,
153 self.__requiresTitle)
154
155 lastUpdateByteArray = url.encodedQueryItemValue("lastUpdate")
156 lastUpdateString = QUrl.fromPercentEncoding(lastUpdateByteArray)
157 self.__lastUpdate = QDateTime.fromString(lastUpdateString,
158 Qt.ISODate)
132 159
133 self.__loadRules() 160 self.__loadRules()
134 161
135 def url(self): 162 def url(self):
136 """ 163 """
151 if not self.__enabled: 178 if not self.__enabled:
152 queryItems.append(("enabled", "false")) 179 queryItems.append(("enabled", "false"))
153 if self.__lastUpdate.isValid(): 180 if self.__lastUpdate.isValid():
154 queryItems.append(("lastUpdate", 181 queryItems.append(("lastUpdate",
155 self.__lastUpdate.toString(Qt.ISODate))) 182 self.__lastUpdate.toString(Qt.ISODate)))
156 query = QUrlQuery() 183 if qVersion() >= "5.0.0":
157 query.setQueryItems(queryItems) 184 from PyQt5.QtCore import QUrlQuery
158 url.setQuery(query) 185 query = QUrlQuery()
186 query.setQueryItems(queryItems)
187 url.setQuery(query)
188 else:
189 url.setQueryItems(queryItems)
159 return url 190 return url
160 191
161 def isEnabled(self): 192 def isEnabled(self):
162 """ 193 """
163 Public method to check, if the subscription is enabled. 194 Public method to check, if the subscription is enabled.

eric ide

mercurial