From 0de27f9775cf5231e0d7bdf5a2b388e5d1b7ee52 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Wed, 28 Apr 2021 19:10:26 -0400 Subject: WIP: Starting to make messages in receive mode work in GUI --- cli/onionshare_cli/mode_settings.py | 2 ++ cli/onionshare_cli/web/receive_mode.py | 27 ++++++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) (limited to 'cli') diff --git a/cli/onionshare_cli/mode_settings.py b/cli/onionshare_cli/mode_settings.py index c2e5e6cd..7b545623 100644 --- a/cli/onionshare_cli/mode_settings.py +++ b/cli/onionshare_cli/mode_settings.py @@ -53,6 +53,8 @@ class ModeSettings: "receive": { "data_dir": self.build_default_receive_data_dir(), "webhook_url": None, + "disable_text": False, + "disable_files": False, }, "website": {"disable_csp": False, "filenames": []}, "chat": {"room": "default"}, diff --git a/cli/onionshare_cli/web/receive_mode.py b/cli/onionshare_cli/web/receive_mode.py index f52e691e..7d2f0d7d 100644 --- a/cli/onionshare_cli/web/receive_mode.py +++ b/cli/onionshare_cli/web/receive_mode.py @@ -26,6 +26,17 @@ from datetime import datetime from flask import Request, request, render_template, make_response, flash, redirect from werkzeug.utils import secure_filename +""" +Receive mode uses a special flask requests object, ReceiveModeRequest, in +order to keep track of upload progress. Here's what happens when someone +uploads files: + +- new ReceiveModeRequest object is created +- creates a directory based on the timestamp +- + +""" + class ReceiveModeWeb: """ @@ -90,18 +101,20 @@ class ReceiveModeWeb: with open(local_path, "w") as f: f.write(text_message) - basename = os.path.basename(local_path) - - # TODO: possibly change this + # Tell the GUI a message has been uploaded self.web.add_request( - self.web.REQUEST_UPLOAD_SET_DIR, - request.path, + self.web.REQUEST_STARTED, + local_path, { "id": request.history_id, - "filename": basename, - "dir": request.receive_mode_dir, + "content_length": len(text_message), }, ) + self.web.add_request( + self.web.REQUEST_UPLOAD_FINISHED, + local_path, + {"id": request.history_id}, + ) self.common.log( "ReceiveModeWeb", -- cgit v1.2.3-54-g00ecf