def urlretrieve(url, filename, chunksize=8192, overwrite=False): if not overwrite and os.path.basename(filename) in get_all_files(): return f = file(filename, "wb") nbtries = 3 while nbtries: try: res = urllib2.urlopen(url) except: print "had an error opening", url nbtries -= 1 if not nbtries: return print "Retrying" else: break done = False while not done: try: data = res.read(chunksize) if len(data): f.write(data) else: done = True except: print "We had an error donwloading", url print "removing temporary file :(" os.remove(filename)