diff options
Diffstat (limited to 'desktop/onionshare/threads.py')
-rw-r--r-- | desktop/onionshare/threads.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/desktop/onionshare/threads.py b/desktop/onionshare/threads.py index db0c6145..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 @@ -62,9 +64,6 @@ class OnionThread(QtCore.QThread): def run(self): self.mode.common.log("OnionThread", "run") - # Make a new static URL path for each new share - self.mode.web.generate_static_url_path() - # Choose port early, because we need them to exist in advance for scheduled shares if not self.mode.app.port: self.mode.app.choose_port() @@ -86,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() @@ -125,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): """ |