diff options
| -rw-r--r-- | module/network/HTTPChunk.py | 4 | ||||
| -rw-r--r-- | module/network/HTTPDownload.py | 9 | 
2 files changed, 8 insertions, 5 deletions
| diff --git a/module/network/HTTPChunk.py b/module/network/HTTPChunk.py index 6f9454c56..f9ad3def7 100644 --- a/module/network/HTTPChunk.py +++ b/module/network/HTTPChunk.py @@ -78,7 +78,7 @@ class HTTPChunk(HTTPBase):                  break              count = self.bufferSize              if self.noRangeHeader: -                count = min(count, self.range[1]-self.range[0] - self.arrived+count) +                count = min(count, self.range[1] - self.arrived)              if self.bucket:                  count = self.bucket.add(count)                  if count == 0: @@ -98,7 +98,7 @@ class HTTPChunk(HTTPBase):                  self.speedCalcTime = inttime()                  self.speedCalcLen = 0              size = len(data) -            if self.arrived+size == self.range[1]-self.range[0]: +            if self.noRangeHeader and self.arrived+size == self.range[1]:                  running = False              self.speedCalcLen += size              self.arrived += size diff --git a/module/network/HTTPDownload.py b/module/network/HTTPDownload.py index 4bba7724e..fbec872fa 100644 --- a/module/network/HTTPDownload.py +++ b/module/network/HTTPDownload.py @@ -135,8 +135,11 @@ class HTTPDownload():      @property      def arrived(self):          arrived = 0 -        for i in range(self.info.getCount()): -            arrived += getsize(self.info.getChunkName(i)) #ugly, but difficult to calc otherwise due chunk resume +        try: +            for i in range(self.info.getCount()): +                arrived += getsize(self.info.getChunkName(i)) #ugly, but difficult to calc otherwise due chunk resume +        except OSError: +            arrived = self.size          return arrived      def abort(self): @@ -284,7 +287,7 @@ if __name__ == "__main__":      print "starting"      dwnld = HTTPDownload(url, "test_100mb.bin") -    d = dwnld.download(chunks=2, resume=True) +    d = dwnld.download(chunks=5, resume=True)      d.addCallback(callb)      d.addErrback(err) | 
