Search plugins: Properly uncompress gzipped responses in retrieve_url()

This commit is contained in:
Christophe Dumez 2013-01-08 21:30:43 +02:00
parent 4db73d421d
commit 1b3a758f28

View file

@ -22,7 +22,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#VERSION: 1.31
#VERSION: 1.32
# Author:
# Christophe DUMEZ (chris@qbittorrent.org)
@ -64,6 +64,13 @@ def retrieve_url(url):
req = urllib2.Request(url)
response = urllib2.urlopen(req)
dat = response.read()
# Check if it is gzipped
if dat[:2] == '\037\213':
# Data is gzip encoded, decode it
compressedstream = StringIO.StringIO(dat)
gzipper = gzip.GzipFile(fileobj=compressedstream)
extracted_data = gzipper.read()
dat = extracted_data
info = response.info()
charset = 'utf-8'
try: