Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2020-10-16 12:45:47 +0300
committerJaime van Kessel <nallath@gmail.com>2020-10-16 12:45:47 +0300
commit70d081afaac3022608689183a03176b325b471ff (patch)
tree93667aacb10c394afbe817fc878767ea2cd192c6 /plugins/UM3NetworkPrinting
parent40b8139409d8218dc5080a84f1417d1334e35972 (diff)
Dont immediately show the "not a group host" message
By delaying a bit, we can ensure that this only happens if the cluster itself isn't offline CURA-7360
Diffstat (limited to 'plugins/UM3NetworkPrinting')
-rw-r--r--plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py
index c05945c356..c9231d71ee 100644
--- a/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py
+++ b/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py
@@ -85,6 +85,8 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice):
self._timeout_time = 30
+ self._num_is_host_check_failed = 0
+
@pyqtProperty(str, constant=True)
def address(self) -> str:
"""The IP address of the printer."""
@@ -293,8 +295,16 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice):
def _checkIfClusterHost(self):
"""Check is this device is a cluster host and takes the needed actions when it is not."""
-
if len(self._printers) < 1 and self.isConnected():
+ self._num_is_host_check_failed += 1
+ else:
+ self._num_is_host_check_failed = 0
+
+ # Since we request the status of the cluster itself way less frequent in the cloud, it can happen that a cloud
+ # printer reports having 0 printers (since they are offline!) but we haven't asked if the entire cluster is
+ # offline. (See CURA-7360)
+ # So by just counting a number of subsequent times that this has happened fixes the incorrect display.
+ if self._num_is_host_check_failed >= 6:
NotClusterHostMessage(self).show()
self.close()
CuraApplication.getInstance().getOutputDeviceManager().removeOutputDevice(self.key)