Closing a connection now actually stops the updates

CL-541
This commit is contained in:
Jaime van Kessel 2017-11-21 10:19:17 +01:00
parent a9f52c2ad6
commit fd548975cc
3 changed files with 8 additions and 3 deletions

View file

@ -1,7 +1,7 @@
from UM.Application import Application from UM.Application import Application
from UM.Logger import Logger from UM.Logger import Logger
from cura.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState
from PyQt5.QtNetwork import QHttpMultiPart, QHttpPart, QNetworkRequest, QNetworkAccessManager, QNetworkReply from PyQt5.QtNetwork import QHttpMultiPart, QHttpPart, QNetworkRequest, QNetworkAccessManager, QNetworkReply
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, pyqtSignal, QUrl from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, pyqtSignal, QUrl
@ -67,6 +67,8 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
def __handleOnFinished(self, reply: QNetworkReply): def __handleOnFinished(self, reply: QNetworkReply):
self._last_response_time = time() self._last_response_time = time()
# TODO: Check if the message is actually correct
self.setConnectionState(ConnectionState.connected)
try: try:
self._onFinishedCallbacks[reply.url().toString() + str(reply.operation())](reply) self._onFinishedCallbacks[reply.url().toString() + str(reply.operation())](reply)
except Exception: except Exception:

View file

@ -54,6 +54,9 @@ class PrinterOutputDevice(QObject, OutputDevice):
def isConnected(self): def isConnected(self):
return self._connection_state != ConnectionState.closed and self._connection_state != ConnectionState.error return self._connection_state != ConnectionState.closed and self._connection_state != ConnectionState.error
def setConnectionState(self, new_state):
self._connection_state = new_state
def _update(self): def _update(self):
pass pass

View file

@ -76,8 +76,8 @@ class UM3OutputDevicePlugin(OutputDevicePlugin):
else: else:
if self._discovered_devices[key].isConnected(): if self._discovered_devices[key].isConnected():
Logger.log("d", "Attempting to close connection with [%s]" % key) Logger.log("d", "Attempting to close connection with [%s]" % key)
self._printers[key].close() self._discovered_devices[key].close()
self._printers[key].connectionStateChanged.disconnect(self._onDeviceConnectionStateChanged) self._discovered_devices[key].connectionStateChanged.disconnect(self._onDeviceConnectionStateChanged)
def _onDeviceConnectionStateChanged(self, key): def _onDeviceConnectionStateChanged(self, key):
pass # TODO pass # TODO