in ezsmdeploy/__init__.py [0:0]
def tar_model(self):
i = 1
for name in self.model:
if "tar.gz" in name and 's3' in name:
# download and uncompress
self.session.download_data(
path="./downloads/{}".format(i),
bucket=name.split("/")[2],
key_prefix="/".join(name.split("/")[3:]),
)
with tarfile.open(
glob.glob("./downloads/{}/*.tar.gz".format(i))[0]
) as tar:
tar.extractall("./extractedmodel/{}/".format(i))
name = "extractedmodel/{}/".format(i)
elif 'tar.gz' in name and 's3' not in name:
self.makedir_safe("./downloads/{}/".format(i))
shutil.copy(name, "./downloads/{}/".format(i))
with tarfile.open(
glob.glob("./downloads/{}/*.tar.gz".format(i))[0]
) as tar:
tar.extractall("./extractedmodel/{}/".format(i))
name = "extractedmodel/{}/".format(i)
tar = tarfile.open("model{}.tar.gz".format(i), "w:gz")
if "/" in name:
tar.add(name, arcname=".")
else:
tar.add(name)
tar.close()
i += 1