18 lines
		
	
	
		
			500 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			500 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os, shutil, subprocess
 | |
| 
 | |
| def untar(tarball_path, parent_path, base):
 | |
|     path = os.path.join(parent_path, base)
 | |
|     try:
 | |
|         shutil.rmtree(path)
 | |
|     except FileNotFoundError:
 | |
|         pass
 | |
|     os.makedirs(parent_path, exist_ok=True)
 | |
|     try:
 | |
|         subprocess.check_call(['/bin/tar', 'xfC', tarball_path, parent_path])
 | |
|     except FileNotFoundError:
 | |
|         import tarfile
 | |
|         tar = tarfile.open(tarball_path)
 | |
|         tar.extractall(path=parent_path)
 | |
|         tar.close()
 | |
|     return path
 | 
