Skip to content

Commit

Permalink
Method printers method, methodx, methodxl read from cloud
Browse files Browse the repository at this point in the history
  • Loading branch information
saumyaj3 committed Oct 26, 2023
1 parent 15e7bb1 commit cf78ae0
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 10 deletions.
12 changes: 11 additions & 1 deletion cura/PrinterOutput/NetworkedPrinterOutputDevice.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,17 @@ def firmwareVersion(self) -> str:

@pyqtProperty(str, constant = True)
def printerType(self) -> str:
return self._properties.get(b"printer_type", b"Unknown").decode("utf-8")
return self.getPrinterType(self._properties.get(b"printer_type", b"Unknown").decode("utf-8"))

def getPrinterTypeIfMakerBot(printer_type):
method_printer_type = {
"fire_e": "ultimaker_method",
"lava_f": "ultimaker_methodx",
"magma_10": "ultimaker_methodxl"
}
if printer_type in method_printer_type:
return method_printer_type[printer_type]
return printer_type

@pyqtProperty(str, constant = True)
def ipAddress(self) -> str:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ UM.Dialog
// Utils
function formatPrintJobName(name)
{
var extensions = [ ".gcode.gz", ".gz", ".gcode", ".ufp" ]
var extensions = [ ".gcode.gz", ".gz", ".gcode", ".ufp", ".makerbot" ]
for (var i = 0; i < extensions.length; i++)
{
var extension = extensions[i]
Expand Down
23 changes: 16 additions & 7 deletions plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,22 @@ def getClustersByMachineType(self, machine_type, on_finished: Callable[[List[Clo
# HACK: There is something weird going on with the API, as it reports printer types in formats like
# "ultimaker_s3", but wants "Ultimaker S3" when using the machine_variant filter query. So we need to do some
# conversion!

machine_type = machine_type.replace("_plus", "+")
machine_type = machine_type.replace("_", " ")
machine_type = machine_type.replace("ultimaker", "ultimaker ")
machine_type = machine_type.replace(" ", " ")
machine_type = machine_type.title()
machine_type = urllib.parse.quote_plus(machine_type)
# API points to "MakerBot Method" for a makerbot printertypes which we already changed to allign with other printer_type

method_x = {
"ultimaker_method":"MakerBot Method",
"ultimaker_methodx":"MakerBot Method X",
"ultimaker_methodxl":"MakerBot Method XL"
}
if machine_type in method_x:
machine_type = method_x[machine_type]
else:
machine_type = machine_type.replace("_plus", "+")
machine_type = machine_type.replace("_", " ")
machine_type = machine_type.replace("ultimaker", "ultimaker ")
machine_type = machine_type.replace(" ", " ")
machine_type = machine_type.title()
machine_type = urllib.parse.quote_plus(machine_type)
url = f"{self.CLUSTER_API_ROOT}/clusters?machine_variant={machine_type}"
self._http.get(url,
scope=self._scope,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def __init__(self, cluster_id: str, host_guid: str, host_name: str, is_online: b
self.host_version = host_version
self.host_internal_ip = host_internal_ip
self.friendly_name = friendly_name
self.printer_type = printer_type
self.printer_type = self.getPrinterTypeIfMakerBot(printer_type)
self.printer_count = printer_count
self.capabilities = capabilities if capabilities is not None else []
super().__init__(**kwargs)
Expand All @@ -51,3 +51,13 @@ def __repr__(self) -> str:
:return: A human-readable representation of the data in this object.
"""
return str({k: v for k, v in self.__dict__.items() if k in {"cluster_id", "host_guid", "host_name", "status", "is_online", "host_version", "host_internal_ip", "friendly_name", "printer_type", "printer_count", "capabilities"}})

def getPrinterTypeIfMakerBot(printer_type):
method_printer_type = {
"fire_e": "ultimaker_method",
"lava_f": "ultimaker_methodx",
"magma_10": "ultimaker_methodxl"
}
if printer_type in method_printer_type:
return method_printer_type[printer_type]
return printer_type

0 comments on commit cf78ae0

Please sign in to comment.