eric6/Helpviewer/Network/FollowRedirectReply.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
diff -r eaf2cf171f3a -r 5cf645f6daab eric6/Helpviewer/Network/FollowRedirectReply.py
--- a/eric6/Helpviewer/Network/FollowRedirectReply.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a network reply delegate allowing to check redirects.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSignal, QObject
-from PyQt5.QtNetwork import QNetworkRequest
-
-
-class FollowRedirectReply(QObject):
-    """
-    Class implementing a network reply delegate allowing to check redirects.
-    
-    @signal finished() emitted to indicate the end of the redirect
-    """
-    finished = pyqtSignal()
-    
-    def __init__(self, url, manager, maxRedirects=5):
-        """
-        Constructor
-        
-        @param url URL to get (QUrl)
-        @param manager reference to the network access manager
-            (QNetworkAccessManager)
-        @keyparam maxRedirects maximum allowed redirects (integer)
-        """
-        super(FollowRedirectReply, self).__init__()
-        
-        self.__manager = manager
-        self.__maxRedirects = maxRedirects
-        self.__redirectCount = 0
-        
-        self.__reply = self.__manager.get(QNetworkRequest(url))
-        self.__reply.finished.connect(self.__replyFinished)
-    
-    def reply(self):
-        """
-        Public method to get the reply object.
-        
-        @return reference to the reply object (QNetworkReply)
-        """
-        return self.__reply
-    
-    def originalUrl(self):
-        """
-        Public method to get the original URL.
-        
-        @return original URL (QUrl)
-        """
-        return self.__reply.request().url()
-    
-    def url(self):
-        """
-        Public method to get the final URL (after redirects).
-        
-        @return final URL (QUrl)
-        """
-        return self.__reply.url()
-    
-    def error(self):
-        """
-        Public method to get the error information.
-        
-        @return error code (QNetworkReply.NetworkError)
-        """
-        return self.__reply.error()
-    
-    def errorString(self):
-        """
-        Public method to get the error message.
-        
-        @return error message (string)
-        """
-        return self.__reply.errorString()
-    
-    def readAll(self):
-        """
-        Public method to read all received data.
-        
-        @return received raw data (QByteArray)
-        """
-        return self.__reply.readAll()
-    
-    def close(self):
-        """
-        Public method to close the data stream.
-        """
-        self.__reply.close()
-    
-    def __replyFinished(self):
-        """
-        Private slot handling the receipt of the requested data.
-        """
-        replyStatus = self.__reply.attribute(
-            QNetworkRequest.HttpStatusCodeAttribute)
-        if (replyStatus != 301 and replyStatus != 302) or \
-           self.__redirectCount == self.__maxRedirects:
-            self.finished.emit()
-            return
-        
-        self.__redirectCount += 1
-        
-        redirectUrl = self.__reply.attribute(
-            QNetworkRequest.RedirectionTargetAttribute)
-        self.__reply.close()
-        self.__reply.deleteLater()
-        self.__reply = None
-        
-        self.__reply = self.__manager.get(QNetworkRequest(redirectUrl))
-        self.__reply.finished.connect(self.__replyFinished)

eric ide

mercurial