diff options
Diffstat (limited to 'pyload/plugins')
| -rw-r--r-- | pyload/plugins/network/CurlChunk.py | 14 | ||||
| -rw-r--r-- | pyload/plugins/network/CurlRequest.py | 1 | 
2 files changed, 9 insertions, 6 deletions
| diff --git a/pyload/plugins/network/CurlChunk.py b/pyload/plugins/network/CurlChunk.py index 871cf7f39..75be9ce6c 100644 --- a/pyload/plugins/network/CurlChunk.py +++ b/pyload/plugins/network/CurlChunk.py @@ -25,7 +25,7 @@ import codecs  import pycurl  from pyload.utils import remove_chars -from pyload.utils.fs import fs_encode +from pyload.utils.fs import fs_encode, fs_decode  from CurlRequest import CurlRequest @@ -35,7 +35,7 @@ class WrongFormat(Exception):  class ChunkInfo():      def __init__(self, name): -        self.name = unicode(name) +        self.name = fs_decode(name)          self.size = 0          self.resume = False          self.chunks = [] @@ -153,6 +153,8 @@ class CurlChunk(CurlRequest):          self.sleep = 0.000          self.lastSize = 0 +        # next to last size +        self.nLastSize = 0      def __repr__(self):          return "<CurlChunk id=%d, size=%d, arrived=%d>" % (self.id, self.size, self.arrived) @@ -228,6 +230,8 @@ class CurlChunk(CurlRequest):              self.BOMChecked = True          size = len(buf) +        self.nLastSize = self.lastSize +        self.lastSize = size          self.arrived += size @@ -235,7 +239,9 @@ class CurlChunk(CurlRequest):          if self.p.bucket:              sleep(self.p.bucket.consumed(size)) -        else: + +        # if the buffer sizes are stable no sleep will be made +        elif size != self.lastSize or size != self.nLastSize:              # Avoid small buffers, increasing sleep time slowly if buffer size gets smaller              # otherwise reduce sleep time percentile (values are based on tests)              # So in general cpu time is saved without reducing bandwidth too much @@ -245,8 +251,6 @@ class CurlChunk(CurlRequest):              else:                  self.sleep *= 0.7 -            self.lastSize = size -              sleep(self.sleep)          if self.range and self.arrived > self.size: diff --git a/pyload/plugins/network/CurlRequest.py b/pyload/plugins/network/CurlRequest.py index 8d1f22450..717590ac5 100644 --- a/pyload/plugins/network/CurlRequest.py +++ b/pyload/plugins/network/CurlRequest.py @@ -187,7 +187,6 @@ class CurlRequest(Request):          if "auth" in self.options:              self.c.setopt(pycurl.USERPWD, str(self.options["auth"])) -      def load(self, url, get={}, post={}, referer=True, cookies=True, just_header=False, multipart=False, decode=False):          """ load and returns a given page """ | 
