Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from_path (str): path of the archive
to_path (str): path to the directory of extracted files
Returns:
path to the directory of extracted files
"""
extenstion = ''.join(Path(from_path).suffixes)
if extenstion == '.zip':
with zipfile.ZipFile(from_path, 'r') as zfile:
zfile.extractall(to_path)
elif extenstion == '.tar.gz' or extenstion == '.tgz':
with tarfile.open(from_path, 'r:gz') as tgfile:
for tarinfo in tgfile:
tgfile.extract(tarinfo, to_path)
elif extenstion == '.7z':
szfile = py7zr.SevenZipFile(from_path, mode='r')
szfile.extractall(path=to_path)
szfile.close()
return Path(to_path)
self.logger.info('Redirected to new URL: {}'.format(newurl))
r = requests.get(newurl, stream=True)
except requests.exceptions.ConnectionError as e:
self.logger.warning("Caught download error: %s" % e.args)
return False
else:
with open(archive, 'wb') as fd:
for chunk in r.iter_content(chunk_size=8196):
fd.write(chunk)
self.logger.info("-Extracting {}...".format(archive))
if sys.version_info > (3, 5):
if not py7zr.is_7zfile(archive):
raise BadPackageFile
if command is None:
py7zr.SevenZipFile(archive).extractall(path=path)
else:
if path is not None:
run([command, 'x', '-aoa', '-bd', '-y', '-o{}'.format(path), archive])
else:
run([command, 'x', '-aoa', '-bd', '-y', archive])
os.unlink(archive)
return True