Files
xmlrpcserver/zip.py
2023-11-02 19:05:48 +03:00

24 lines
698 B
Python

import os
from tempfile import TemporaryDirectory, mktemp
from zipfile import ZipFile
class Zip:
def __init__(self):
self.dir = TemporaryDirectory()
@property
def dirname(self):
return self.dir.name
def pack(self):
tmp_zip = mktemp(suffix='.zip')
with ZipFile(tmp_zip, 'w') as zip_object:
for folder_name, sub_folders, file_names in os.walk(self.dir.name):
for filename in file_names:
file_path = os.path.join(folder_name, filename)
rel_file_path = os.path.relpath(file_path, self.dir.name)
zip_object.write(file_path, rel_file_path)
return tmp_zip