diff options
author | Micah Lee <micah@micahflee.com> | 2021-12-01 20:34:54 -0800 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2021-12-01 20:34:54 -0800 |
commit | 8ec9a24af1402b0c86b1e811b5e6925d39d3bcdb (patch) | |
tree | 87ff2a9989ce5acb278590c103746dc31e536e56 /cli/onionshare_cli/web/share_mode.py | |
parent | 109d63a10c90c656409c6a3d66e146becc151b0b (diff) | |
download | onionshare-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.py | 11 |
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: |