This commit is contained in:
ChrisTerBeke 2018-11-26 13:45:37 +01:00
parent 21c81603b4
commit 014b1d6e4e
2 changed files with 7 additions and 5 deletions

View file

@ -36,7 +36,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice, NetworkClient):
self._authentication_state = AuthState.NotAuthenticated self._authentication_state = AuthState.NotAuthenticated
self._sending_gcode = False self._sending_gcode = False
self._compressing_gcode = False self._compressing_gcode = False
self._gcode = [] # type: List[str] self._gcode = [] # type: List[str]
self._connection_state_before_timeout = None # type: Optional[ConnectionState] self._connection_state_before_timeout = None # type: Optional[ConnectionState]
self._timeout_time = 10 # After how many seconds of no response should a timeout occur? self._timeout_time = 10 # After how many seconds of no response should a timeout occur?
@ -182,8 +182,10 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice, NetworkClient):
return self._address return self._address
def __handleOnFinished(self, reply: QNetworkReply) -> None: def __handleOnFinished(self, reply: QNetworkReply) -> None:
super().__handleOnFinished(reply)
# Since we got a reply from the network manager we can now be sure we are actually connected. # Since we got a 200 reply from the network manager we can now be sure we are actually connected.
if self._connection_state == ConnectionState.connecting: if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) == 200 and \
self._connection_state == ConnectionState.connecting:
self.setConnectionState(ConnectionState.connected) self.setConnectionState(ConnectionState.connected)
super().__handleOnFinished(reply)

View file

@ -41,7 +41,7 @@ class UM3OutputDevicePlugin(OutputDevicePlugin):
self._zero_conf_browser = None self._zero_conf_browser = None
# Create a cloud output device manager that abstract all cloud connection logic away. # Create a cloud output device manager that abstract all cloud connection logic away.
self._cloud_output_device_manager = CloudOutputDeviceManager() # self._cloud_output_device_manager = CloudOutputDeviceManager()
# Because the model needs to be created in the same thread as the QMLEngine, we use a signal. # Because the model needs to be created in the same thread as the QMLEngine, we use a signal.
self.addDeviceSignal.connect(self._onAddDevice) self.addDeviceSignal.connect(self._onAddDevice)