diff options
author | Izhar Firdaus <kagesenshi.87@gmail.com> | 2008-12-31 12:31:57 +0800 |
---|---|---|
committer | Izhar Firdaus <kagesenshi.87@gmail.com> | 2008-12-31 12:31:57 +0800 |
commit | 01e8594d0dddddf6454c9a6402ed164781a35a81 (patch) | |
tree | 509f359324503619a3a17c2accf716d6def31dca | |
parent | 8daaff84c4c820a624da602200c5e7495594de7b (diff) | |
download | hack-patches-01e8594d0dddddf6454c9a6402ed164781a35a81.tar.gz hack-patches-01e8594d0dddddf6454c9a6402ed164781a35a81.tar.xz hack-patches-01e8594d0dddddf6454c9a6402ed164781a35a81.zip |
- make files that only need 1 part to download using urllib (faster)
-rw-r--r-- | customgrabber.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/customgrabber.py b/customgrabber.py index 04647bf..b90297b 100644 --- a/customgrabber.py +++ b/customgrabber.py @@ -22,10 +22,26 @@ class AxelGrabber(grabber.URLGrabber): opts = self.opts.derive(**kwargs) (url,parts) = opts.urlparser.parse(url, opts) (scheme, host, path, parm, query, frag) = parts + fsize = get_filesize(url) + if (fsize/1024) < 100: + parts = 1 + elif (fsize/1024) < 500: + parts = 2 + elif (fsize/1024/1024) < 1: + parts = 3 + elif (fsize/1024/1024) < 5: + parts = 4 + elif (fsize/1024/1024) < 10: + parts = 6 + elif (fsize/1024/1024) < 15: + parts = 8 + else: + parts = 10 + if parts == 1: + return grabber.URLGrabber.urlgrab(self, url, filename=None, **kwargs) - def retryfunc(opts, url, filename): - fsize = get_filesize(url) + def retryfunc(opts, url, filename, parts): if (fsize/1024) < 100: parts = 1 elif (fsize/1024) < 500: @@ -49,4 +65,4 @@ class AxelGrabber(grabber.URLGrabber): raise grabber.URLGrabError(-1) return filename - return self._retry(opts, retryfunc, url, filename) + return self._retry(opts, retryfunc, url, filename, parts) |