From abf5b05280a87412e654b0bad50b2bfadcd2bd95 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Fri, 30 Apr 2021 15:57:11 -0700 Subject: [PATCH] If no files are uploaded, delete the empty receive mode dir that was created --- cli/onionshare_cli/web/receive_mode.py | 46 +++++++++++++++----------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/cli/onionshare_cli/web/receive_mode.py b/cli/onionshare_cli/web/receive_mode.py index 79d58486..bdbe0a5f 100644 --- a/cli/onionshare_cli/web/receive_mode.py +++ b/cli/onionshare_cli/web/receive_mode.py @@ -536,27 +536,35 @@ class ReceiveModeRequest(Request): if self.upload_request: self.web.common.log("ReceiveModeRequest", "close") - try: - if self.told_gui_about_request: - history_id = self.history_id + try: + if self.told_gui_about_request: + history_id = self.history_id - if ( - not self.web.stop_q.empty() - or not self.progress[self.filename]["complete"] - ): - # Inform the GUI that the upload has canceled - self.web.add_request( - self.web.REQUEST_UPLOAD_CANCELED, self.path, {"id": history_id} - ) - else: - # Inform the GUI that the upload has finished - self.web.add_request( - self.web.REQUEST_UPLOAD_FINISHED, self.path, {"id": history_id} - ) - self.web.receive_mode.uploads_in_progress.remove(history_id) + if ( + not self.web.stop_q.empty() + or not self.progress[self.filename]["complete"] + ): + # Inform the GUI that the upload has canceled + self.web.add_request( + self.web.REQUEST_UPLOAD_CANCELED, + self.path, + {"id": history_id}, + ) + else: + # Inform the GUI that the upload has finished + self.web.add_request( + self.web.REQUEST_UPLOAD_FINISHED, + self.path, + {"id": history_id}, + ) + self.web.receive_mode.uploads_in_progress.remove(history_id) - except AttributeError: - pass + except AttributeError: + pass + + # If no files were written to self.receive_mode_dir, delete it + if len(os.listdir(self.receive_mode_dir)) == 0: + os.rmdir(self.receive_mode_dir) def file_write_func(self, filename, length): """