Skip to content

Instantly share code, notes, and snippets.

@dopuskh3
Created April 30, 2010 16:28
Show Gist options
  • Save dopuskh3/385434 to your computer and use it in GitHub Desktop.
Save dopuskh3/385434 to your computer and use it in GitHub Desktop.
import urllib2
class BigFileDownloader(object):
def __init__(self, url, file):
self.packet_size = 128
self.urlopener = urllib2.build_opener()
self.url = url
self.file = file
def download(self):
try:
request = urllib2.Request(self.url)
fout = open(self.file, "wb")
datafd = self.urlopener.open(request)
totalsize = int(datafd.headers.get("content-length"))*8
while True:
data = datafd.read(self.packet_size)
if not data:
break
fout.write(data)
fout.close()
except Exception, e:
logging.critical("Cannot download %s"%str(e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment