summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIzhar Firdaus <kagesenshi.87@gmail.com>2008-12-31 12:31:57 +0800
committerIzhar Firdaus <kagesenshi.87@gmail.com>2008-12-31 12:31:57 +0800
commit01e8594d0dddddf6454c9a6402ed164781a35a81 (patch)
tree509f359324503619a3a17c2accf716d6def31dca
parent8daaff84c4c820a624da602200c5e7495594de7b (diff)
downloadhack-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.py22
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)