def download(self, url): r = requests.get(url, stream=True) for chunk in r.iter_content(chunk_size=1024): self.f.write(chunk) self.f.flush() if r.status_code == 404: return False parsed_url = urlparse(url) self.filename = list(reversed(parsed_url.path.split("/")))[0] if "content-type" in r.headers: self.content_type = r.headers['content-type'] ext = mimetypes.guess_extension(self.content_type) if ext: self.filename = self.filename + ext if "content-disposition" in r.headers: disposition = r.headers['content-disposition'] parts = disposition.split(';') if len(parts) > 1: self.filename = parts[1].strip(' ') self.filename = self.filename[self.filename.find('=') + 1:].strip(' ') self.filename = ''.join([c for c in self.filename if c.isalpha() or c == '.']) print self.filename return True
def download(self, url): r = requests.get(url, stream=True) for chunk in r.iter_content(chunk_size=1024): self.f.write(chunk) self.f.flush() if r.status_code == 404: return False parsed_url = urlparse(url) self.filename = list(reversed(parsed_url.path.split("/")))[0] if "content-type" in r.headers: self.content_type = r.headers['content-type'] ext = mimetypes.guess_extension(self.content_type) if ext: self.filename = self.filename + ext if "content-disposition" in r.headers: disposition = r.headers['content-disposition'] parts = disposition.split(';') if len(parts) > 1: self.filename = parts[1].strip(' ') self.filename = self.filename[self.filename.find('=') + 1:].strip(' ') self.filename = ''.join( [c for c in self.filename if c.isalpha() or c == '.']) return True
def download(self, url): r = requests.get(url, stream=True) for chunk in r.iter_content(chunk_size=1024): self.f.write(chunk) self.f.flush() if r.status_code == 404: return False if "content-type" in r.headers: self.content_type = r.headers['content-type'] self.filename = list(reversed(url.split("/")))[0] return True
def download(self, url): r = requests.get(url, stream=True) length = r.headers["content-length"] if not length.isdigit() or int(length) > get_maxsize(): raise FileTooBig("The file was larger than " + _cfg("max_file_size")) for i, chunk in enumerate(r.iter_content(chunk_size=1024)): if i > get_maxsize() / 1024: # Evil servers may send more than Content-Length bytes # As of 54541a9, python-requests keeps reading indefinitely raise FileTooBig("The file was larger than " + _cfg("max_file_size")) self.f.write(chunk) self.f.flush() if r.status_code == 404: return False parsed_url = urlparse(url) self.filename = list(reversed(parsed_url.path.split("/")))[0] if "content-type" in r.headers: self.content_type = r.headers['content-type'] ext = mimetypes.guess_extension(self.content_type) if ext: self.filename = self.filename + ext if "content-disposition" in r.headers: disposition = r.headers['content-disposition'] parts = disposition.split(';') if len(parts) > 1: self.filename = parts[1].strip(' ') self.filename = self.filename[self.filename.find('=') + 1:].strip(' ') self.filename = ''.join( [c for c in self.filename if c.isalpha() or c == '.']) return True
def download(self, url): r = requests.get(url, stream=True) length = r.headers["content-length"] if not length.isdigit() or int(length) > get_maxsize(): raise FileTooBig("The file was larger than "+_cfg("max_file_size")) for i, chunk in enumerate(r.iter_content(chunk_size=1024)): if i > get_maxsize() / 1024: # Evil servers may send more than Content-Length bytes # As of 54541a9, python-requests keeps reading indefinitely raise FileTooBig("The file was larger than "+_cfg("max_file_size")) self.f.write(chunk) self.f.flush() if r.status_code == 404: return False parsed_url = urlparse(url) self.filename = list(reversed(parsed_url.path.split("/")))[0] if "content-type" in r.headers: self.content_type = r.headers['content-type'] ext = mimetypes.guess_extension(self.content_type) if ext: self.filename = self.filename + ext if "content-disposition" in r.headers: disposition = r.headers['content-disposition'] parts = disposition.split(';') if len(parts) > 1: self.filename = parts[1].strip(' ') self.filename = self.filename[self.filename.find('=') + 1:].strip(' ') self.filename = ''.join([c for c in self.filename if c.isalpha() or c == '.']) return True