This commit is contained in:
Remco Burema 2020-06-05 13:29:53 +02:00
commit 7fd7b3a868
No known key found for this signature in database
GPG key ID: 215C49431D43F98C
2 changed files with 20 additions and 4 deletions

View file

@ -1,6 +1,6 @@
# Copyright (c) 2020 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import sys
import threading
from typing import Any, Callable, Optional, TYPE_CHECKING
@ -71,7 +71,7 @@ class LocalAuthorizationServer:
self._web_server.setState(state)
# Start the server on a new thread.
self._web_server_thread = threading.Thread(None, self._web_server.serve_forever, daemon = self._daemon)
self._web_server_thread = threading.Thread(None, self._serve_forever, daemon = self._daemon)
self._web_server_thread.start()
def stop(self) -> None:
@ -87,3 +87,21 @@ class LocalAuthorizationServer:
pass
self._web_server = None
self._web_server_thread = None
def _serve_forever(self) -> None:
"""
If the platform is windows, this function calls the serve_forever function of the _web_server, catching any
OSErrors that may occur in the thread, thus making the reported message more log-friendly.
If it is any other platform, it just calls the serve_forever function immediately.
:return: None
"""
if self._web_server:
if sys.platform == "win32":
try:
self._web_server.serve_forever()
except OSError as e:
Logger.warning(str(e))
else:
# Leave the default behavior in non-windows platforms
self._web_server.serve_forever()

View file

@ -91,8 +91,6 @@ class CloudOutputDeviceManager:
if self._syncing:
return
Logger.info("Syncing cloud printer clusters")
self._syncing = True
self._account.setSyncState(self.SYNC_SERVICE_NAME, SyncState.SYNCING)
self._api.getClusters(self._onGetRemoteClustersFinished, self._onGetRemoteClusterFailed)