20 def __init__(self, url, manager, maxRedirects=5): |
20 def __init__(self, url, manager, maxRedirects=5): |
21 """ |
21 """ |
22 Constructor |
22 Constructor |
23 |
23 |
24 @param url URL to get (QUrl) |
24 @param url URL to get (QUrl) |
25 @param manager reference to the network access manager (QNetworkAccessManager) |
25 @param manager reference to the network access manager |
|
26 (QNetworkAccessManager) |
26 @keyparam maxRedirects maximum allowed redirects (integer) |
27 @keyparam maxRedirects maximum allowed redirects (integer) |
27 """ |
28 """ |
28 super().__init__() |
29 super().__init__() |
29 |
30 |
30 self.__manager = manager |
31 self.__manager = manager |
90 |
91 |
91 def __replyFinished(self): |
92 def __replyFinished(self): |
92 """ |
93 """ |
93 Private slot handling the receipt of the requested data. |
94 Private slot handling the receipt of the requested data. |
94 """ |
95 """ |
95 replyStatus = self.__reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) |
96 replyStatus = self.__reply.attribute( |
|
97 QNetworkRequest.HttpStatusCodeAttribute) |
96 if (replyStatus != 301 and replyStatus != 302) or \ |
98 if (replyStatus != 301 and replyStatus != 302) or \ |
97 self.__redirectCount == self.__maxRedirects: |
99 self.__redirectCount == self.__maxRedirects: |
98 self.finished.emit() |
100 self.finished.emit() |
99 return |
101 return |
100 |
102 |
101 self.__redirectCount += 1 |
103 self.__redirectCount += 1 |
102 |
104 |
103 redirectUrl = self.__reply.attribute(QNetworkRequest.RedirectionTargetAttribute) |
105 redirectUrl = self.__reply.attribute( |
|
106 QNetworkRequest.RedirectionTargetAttribute) |
104 self.__reply.close() |
107 self.__reply.close() |
105 ## self.__reply.finished[()].disconnect(self.__replyFinished) |
|
106 self.__reply.deleteLater() |
108 self.__reply.deleteLater() |
107 self.__reply = None |
109 self.__reply = None |
108 |
110 |
109 self.__reply = self.__manager.get(QNetworkRequest(redirectUrl)) |
111 self.__reply = self.__manager.get(QNetworkRequest(redirectUrl)) |
110 self.__reply.finished[()].connect(self.__replyFinished) |
112 self.__reply.finished[()].connect(self.__replyFinished) |