Spaces:
Runtime error
Runtime error
#!/usr/bin/env python3 | |
import os | |
import shlex | |
import shutil | |
import subprocess | |
def extract_archive(dataset_archive, tmp_data_path): | |
if not os.path.isfile(dataset_archive): | |
return False | |
dataset_ext = os.path.splitext(dataset_archive)[1] | |
if dataset_ext != ".gz" and dataset_ext != ".tar": | |
return False | |
if os.path.isdir(tmp_data_path): | |
shutil.rmtree(tmp_data_path, ignore_errors=True) | |
os.makedirs(tmp_data_path) | |
if dataset_ext == ".gz": | |
tar_opt = "-xzf" | |
else: | |
tar_opt = "-xf" | |
extract_cmd = ("tar {} {} -C {}").format(tar_opt, dataset_archive, tmp_data_path) | |
subprocess.call(shlex.split(extract_cmd)) | |
return True | |
def tar_file(tar_path, tmp_path): | |
tar_name = tar_path.split('/')[-1] | |
if extract_archive(tar_path, tmp_path): | |
print('extract ' + tar_name + 'successfully!') | |
else: | |
print("fail to extract " + tar_name) | |