mirror of
https://github.com/gogcom/galaxy-integrations-python-api.git
synced 2025-12-28 09:28:16 -05:00
21 lines
658 B
Python
21 lines
658 B
Python
import io
|
|
import os
|
|
import zipfile
|
|
from glob import glob
|
|
|
|
def zip_folder(folder):
|
|
files = glob(os.path.join(folder, "**"), recursive=True)
|
|
files = [file.replace(folder + os.sep, "") for file in files]
|
|
files = [file for file in files if file]
|
|
|
|
zip_buffer = io.BytesIO()
|
|
with zipfile.ZipFile(zip_buffer, mode="w", compression=zipfile.ZIP_DEFLATED) as zipf:
|
|
for file in files:
|
|
zipf.write(os.path.join(folder, file), arcname=file)
|
|
return zip_buffer
|
|
|
|
def zip_folder_to_file(folder, filename):
|
|
zip_content = zip_folder(folder).getbuffer()
|
|
with open(filename, "wb") as archive:
|
|
archive.write(zip_content)
|