From 0121d721cb56454974b40fc0b46e157e0a77acbe Mon Sep 17 00:00:00 2001 From: John Garland Date: Wed, 20 Jan 2010 12:36:07 +0000 Subject: [PATCH] Make sure all data is passed to pagePart. Accept x-gzip encodings. --- deluge/httpdownloader.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/deluge/httpdownloader.py b/deluge/httpdownloader.py index c85cf1362..93ce35549 100644 --- a/deluge/httpdownloader.py +++ b/deluge/httpdownloader.py @@ -113,7 +113,10 @@ class HTTPDownloader(client.HTTPDownloader): def pageEnd(self): if self.decoder: - client.HTTPDownloader.pagePart(self, self.decoder.flush()) + data = self.decoder.flush() + self.current_length -= len(data) + self.decoder = None + self.pagePart(data) return client.HTTPDownloader.pageEnd(self) @@ -185,7 +188,7 @@ def download_file(url, filename, callback=None, headers=None, force_filename=Fal if allow_compression: if not headers: headers = {} - headers["accept-encoding"] = "gzip, deflate" + headers["accept-encoding"] = "deflate, gzip, x-gzip" scheme, host, port, path = client._parse(url) factory = HTTPDownloader(url, filename, callback, headers, force_filename, allow_compression)