Helpviewer/Network/FollowRedirectReply.py

changeset 3002
6ffc581f00f1
parent 2954
bf0215fe12d1
child 3057
10516539f238
child 3160
209a07d7e401
equal deleted inserted replaced
3001:3674ff5fa8f8 3002:6ffc581f00f1
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)

eric ide

mercurial