aboutsummaryrefslogtreecommitdiff
path: root/cli/onionshare_cli/web/share_mode.py
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-12-01 20:34:54 -0800
committerMicah Lee <micah@micahflee.com>2021-12-01 20:34:54 -0800
commit8ec9a24af1402b0c86b1e811b5e6925d39d3bcdb (patch)
tree87ff2a9989ce5acb278590c103746dc31e536e56 /cli/onionshare_cli/web/share_mode.py
parent109d63a10c90c656409c6a3d66e146becc151b0b (diff)
downloadonionshare-8ec9a24af1402b0c86b1e811b5e6925d39d3bcdb.tar.gz
onionshare-8ec9a24af1402b0c86b1e811b5e6925d39d3bcdb.zip
Explicitly cleanup temp files and dirs
Diffstat (limited to 'cli/onionshare_cli/web/share_mode.py')
-rw-r--r--cli/onionshare_cli/web/share_mode.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/cli/onionshare_cli/web/share_mode.py b/cli/onionshare_cli/web/share_mode.py
index 75c11a83..d655255e 100644
--- a/cli/onionshare_cli/web/share_mode.py
+++ b/cli/onionshare_cli/web/share_mode.py
@@ -504,10 +504,13 @@ class ShareModeWeb(SendBaseModeWeb):
self.is_zipped = False
+ # Cleanup this tempfile
+ self.web.cleanup_tempfiles.append(self.gzip_file)
+
else:
# Zip up the files and folders
self.zip_writer = ZipWriter(
- self.common, processed_size_callback=processed_size_callback
+ self.common, self.web, processed_size_callback=processed_size_callback
)
self.download_filename = self.zip_writer.zip_filename
for info in self.file_info["files"]:
@@ -538,8 +541,9 @@ class ZipWriter(object):
filename.
"""
- def __init__(self, common, zip_filename=None, processed_size_callback=None):
+ def __init__(self, common, web, zip_filename=None, processed_size_callback=None):
self.common = common
+ self.web = web
self.cancel_compression = False
if zip_filename:
@@ -550,6 +554,9 @@ class ZipWriter(object):
)
self.zip_filename = f"{self.zip_temp_dir.name}/onionshare_{self.common.random_string(4, 6)}.zip"
+ # Cleanup this temp dir
+ self.web.cleanup_tempdirs.append(self.zip_temp_dir)
+
self.z = zipfile.ZipFile(self.zip_filename, "w", allowZip64=True)
self.processed_size_callback = processed_size_callback
if self.processed_size_callback is None: