mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 09:17:50 -06:00
Merge branch 'master' of https://github.com/Ultimaker/JediWifiPrintingPlugin
This commit is contained in:
commit
930dd76109
1 changed files with 22 additions and 8 deletions
|
@ -365,6 +365,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
head_y = self._json_printer_state["heads"][0]["position"]["y"]
|
head_y = self._json_printer_state["heads"][0]["position"]["y"]
|
||||||
head_z = self._json_printer_state["heads"][0]["position"]["z"]
|
head_z = self._json_printer_state["heads"][0]["position"]["z"]
|
||||||
self._updateHeadPosition(head_x, head_y, head_z)
|
self._updateHeadPosition(head_x, head_y, head_z)
|
||||||
|
self._updatePrinterState(self._json_printer_state["status"])
|
||||||
|
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
self._updateJobState("")
|
self._updateJobState("")
|
||||||
|
@ -398,9 +400,9 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
self._error_message = Message(i18n_catalog.i18nc("@info:status", "Unable to start a new print job because the printer is busy. Please check the printer."))
|
self._error_message = Message(i18n_catalog.i18nc("@info:status", "Unable to start a new print job because the printer is busy. Please check the printer."))
|
||||||
self._error_message.show()
|
self._error_message.show()
|
||||||
return
|
return
|
||||||
if self._json_printer_state["status"] != "idle":
|
if self._printer_state != "idle":
|
||||||
self._error_message = Message(
|
self._error_message = Message(
|
||||||
i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._json_printer_state["status"])
|
i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state)
|
||||||
self._error_message.show()
|
self._error_message.show()
|
||||||
return
|
return
|
||||||
elif self._authentication_state != AuthState.Authenticated:
|
elif self._authentication_state != AuthState.Authenticated:
|
||||||
|
@ -439,20 +441,25 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
# Check if there is enough material. Any failure in these results in a warning.
|
# Check if there is enough material. Any failure in these results in a warning.
|
||||||
material_length = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["length_remaining"]
|
material_length = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["length_remaining"]
|
||||||
if material_length != -1 and print_information.materialLengths[index] > material_length:
|
if material_length != -1 and print_information.materialLengths[index] > material_length:
|
||||||
|
Logger.log("w", "Printer reports that there is not enough material left for extruder %s. We need %s and the printer has %s", index + 1, print_information.materialLengths[index], material_length)
|
||||||
warnings.append(i18n_catalog.i18nc("@label", "Not enough material for spool {0}.").format(index+1))
|
warnings.append(i18n_catalog.i18nc("@label", "Not enough material for spool {0}.").format(index+1))
|
||||||
|
|
||||||
# Check if the right cartridges are loaded. Any failure in these results in a warning.
|
# Check if the right cartridges are loaded. Any failure in these results in a warning.
|
||||||
extruder_manager = cura.Settings.ExtruderManager.getInstance()
|
extruder_manager = cura.Settings.ExtruderManager.getInstance()
|
||||||
if print_information.materialLengths[index] != 0:
|
if print_information.materialLengths[index] != 0:
|
||||||
variant = extruder_manager.getExtruderStack(0).findContainer({"type": "variant"})
|
variant = extruder_manager.getExtruderStack(index).findContainer({"type": "variant"})
|
||||||
if variant:
|
if variant:
|
||||||
if variant.getName() != self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"]:
|
if variant.getName() != self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"]:
|
||||||
|
Logger.log("w", "Extruder %s has a different Cartridge (%s) as Cura (%s)", index + 1, self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"], variant.getName())
|
||||||
warnings.append(i18n_catalog.i18nc("@label", "Different PrintCore selected for extruder {0}".format(index + 1)))
|
warnings.append(i18n_catalog.i18nc("@label", "Different PrintCore selected for extruder {0}".format(index + 1)))
|
||||||
|
|
||||||
material = extruder_manager.getExtruderStack(0).findContainer({"type": "material"})
|
material = extruder_manager.getExtruderStack(0).findContainer({"type": "material"})
|
||||||
if material:
|
if material:
|
||||||
if material.getMetaDataEntry("GUID") != self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["GUID"]:
|
if material.getMetaDataEntry("GUID") != self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["GUID"]:
|
||||||
warnings.append(i18n_catalog.i18nc("@label", "Different material selected for extruder {0}").format(index + 1))
|
Logger.log("w", "Extruder %s has a different material (%s) as Cura (%s)", index + 1,
|
||||||
|
self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["GUID"],
|
||||||
|
material.getMetaDataEntry("GUID"))
|
||||||
|
warnings.append(i18n_catalog.i18nc("@label", "Different material selected for extruder {0}").format(index + 1))
|
||||||
|
|
||||||
if warnings:
|
if warnings:
|
||||||
text = i18n_catalog.i18nc("@label", "Are you sure you wish to print with the selected configuration?")
|
text = i18n_catalog.i18nc("@label", "Are you sure you wish to print with the selected configuration?")
|
||||||
|
@ -470,7 +477,6 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
icon=QMessageBox.Question,
|
icon=QMessageBox.Question,
|
||||||
callback=self._configurationMismatchMessageCallback
|
callback=self._configurationMismatchMessageCallback
|
||||||
)
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
self.startPrint()
|
self.startPrint()
|
||||||
|
@ -752,6 +758,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
global_container_stack.setMetaDataEntry("network_authentication_id", self._authentication_id)
|
global_container_stack.setMetaDataEntry("network_authentication_id", self._authentication_id)
|
||||||
else:
|
else:
|
||||||
global_container_stack.addMetaDataEntry("network_authentication_id", self._authentication_id)
|
global_container_stack.addMetaDataEntry("network_authentication_id", self._authentication_id)
|
||||||
|
Application.getInstance().saveStack(global_container_stack) # Force save so we are sure the data is not lost.
|
||||||
Logger.log("i", "Authentication succeeded")
|
Logger.log("i", "Authentication succeeded")
|
||||||
else: # Got a response that we didn't expect, so something went wrong.
|
else: # Got a response that we didn't expect, so something went wrong.
|
||||||
Logger.log("w", "While trying to authenticate, we got an unexpected response: %s", reply.attribute(QNetworkRequest.HttpStatusCodeAttribute))
|
Logger.log("w", "While trying to authenticate, we got an unexpected response: %s", reply.attribute(QNetworkRequest.HttpStatusCodeAttribute))
|
||||||
|
@ -772,6 +779,13 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||||
if "/auth/request" in reply_url:
|
if "/auth/request" in reply_url:
|
||||||
# We got a response to requesting authentication.
|
# We got a response to requesting authentication.
|
||||||
data = json.loads(bytes(reply.readAll()).decode("utf-8"))
|
data = json.loads(bytes(reply.readAll()).decode("utf-8"))
|
||||||
|
|
||||||
|
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
|
if global_container_stack: # Remove any old data.
|
||||||
|
global_container_stack.removeMetaDataEntry("network_authentication_key")
|
||||||
|
global_container_stack.removeMetaDataEntry("network_authentication_id")
|
||||||
|
Application.getInstance().saveStack(global_container_stack) # Force saving so we don't keep wrong auth data.
|
||||||
|
|
||||||
self._authentication_key = data["key"]
|
self._authentication_key = data["key"]
|
||||||
self._authentication_id = data["id"]
|
self._authentication_id = data["id"]
|
||||||
Logger.log("i", "Got a new authentication ID. Waiting for authorization: %s", self._authentication_id )
|
Logger.log("i", "Got a new authentication ID. Waiting for authorization: %s", self._authentication_id )
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue