diff options
author | Miguel Jacq <mig@mig5.net> | 2023-05-31 15:38:52 +1000 |
---|---|---|
committer | Miguel Jacq <mig@mig5.net> | 2023-05-31 15:38:52 +1000 |
commit | 4439838ee7d115e9a3f7eda212fb053649b44319 (patch) | |
tree | c336627834865723382b63dcb0813bb7954f91a8 /desktop/onionshare/threads.py | |
parent | dd55e78d6345061ae9317231b9d831132636f1fc (diff) | |
download | onionshare-4439838ee7d115e9a3f7eda212fb053649b44319.tar.gz onionshare-4439838ee7d115e9a3f7eda212fb053649b44319.zip |
Raise a Waitress exception into the UI with a modal dialog and reset the share if it occurs
Diffstat (limited to 'desktop/onionshare/threads.py')
-rw-r--r-- | desktop/onionshare/threads.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/desktop/onionshare/threads.py b/desktop/onionshare/threads.py index b3d51d49..6eeeb97f 100644 --- a/desktop/onionshare/threads.py +++ b/desktop/onionshare/threads.py @@ -39,6 +39,8 @@ from onionshare_cli.onion import ( PortNotAvailable, ) +from onionshare_cli.web.web import WaitressException + from . import strings @@ -83,7 +85,6 @@ class OnionThread(QtCore.QThread): # wait for modules in thread to load, preventing a thread-related cx_Freeze crash time.sleep(0.2) # start onionshare http service in new thread - self.mode.web_thread = WebThread(self.mode) self.mode.web_thread.start() self.success.emit() @@ -122,9 +123,14 @@ class WebThread(QtCore.QThread): def run(self): self.mode.common.log("WebThread", "run") - self.mode.web.start(self.mode.app.port) - self.success.emit() - + try: + self.mode.web.start(self.mode.app.port) + self.success.emit() + except WaitressException as e: + message = self.mode.common.gui.get_translated_web_error(e) + self.mode.common.log("WebThread", "run", message) + self.error.emit(message) + return class AutoStartTimer(QtCore.QThread): """ |