def download(self, url, path_location, method='get'): if fs.is_file(path_location): raise FileExistsError('File %s exists!' % path_location) fs.make_dirs(fs.dirname(path_location)) part = path_location + '.part' mode = 'wb' headers = self._headers.copy() if fs.is_file(part): # resume part_size = fs.file_size(part) if ~part_size: mode = 'ab' headers['Range'] = 'bytes=%d-' % fs.file_size(part) with open(part, mode) as w: w.write(self.request(method, url, headers=headers).content) fs.rename(part, path_location)
def _load_storage_cookies(self, domain: str = None) -> dict: cookies = {} if fs.is_file(self._cookies_file): with open(self._cookies_file, 'r') as f: cookies = json.loads(f.read()) if domain is None: return cookies return cookies.get(domain, {})
def _dump_storage_cookies(self, cookies: dict, domain: str = None): if domain is not None: all_cookies = self._load_storage_cookies() all_cookies.update({domain: cookies}) else: all_cookies = cookies if fs.is_file(self._cookies_file): with open(self._cookies_file, 'w') as f: f.write(json.dumps(all_cookies))