.
This commit is contained in:
23
xmlrpcserver/zip.py
Normal file
23
xmlrpcserver/zip.py
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
||||
Reference in New Issue
Block a user