mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 14:45:55 +08:00
Fix binding printer_id to response callbacks
With the lambda it would capture the variable of printer_id. It wouldn't actually store the value of printer_id in teh created lambda. As a result, it was using the current value of printer_id when the lambda executes, rather than the value of printer_id when the lambda is constructed. A bit weird how that works in Python's lambdas. With partial functions it works properly. Contributes to issue CURA-8609.
This commit is contained in:
parent
f99fedc58b
commit
116046a8b2
@ -2,6 +2,7 @@
|
|||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import enum
|
import enum
|
||||||
|
import functools # For partial methods to use as callbacks with information pre-filled.
|
||||||
import json # To serialise metadata for API calls.
|
import json # To serialise metadata for API calls.
|
||||||
import os # To delete the archive when we're done.
|
import os # To delete the archive when we're done.
|
||||||
from PyQt5.QtCore import QUrl
|
from PyQt5.QtCore import QUrl
|
||||||
@ -177,8 +178,8 @@ class UploadMaterialsJob(Job):
|
|||||||
http = HttpRequestManager.getInstance()
|
http = HttpRequestManager.getInstance()
|
||||||
http.post(
|
http.post(
|
||||||
url = self.UPLOAD_CONFIRM_URL.format(cluster_id = cluster_id, cluster_printer_id = printer_id),
|
url = self.UPLOAD_CONFIRM_URL.format(cluster_id = cluster_id, cluster_printer_id = printer_id),
|
||||||
callback = lambda reply: self.onUploadConfirmed(printer_id, reply, None),
|
callback = functools.partial(self.onUploadConfirmed, printer_id),
|
||||||
error_callback = lambda reply, error: self.onUploadConfirmed(printer_id, reply, error), # Let this same function handle the error too.
|
error_callback = functools.partial(self.onUploadConfirmed, printer_id), # Let this same function handle the error too.
|
||||||
scope = self._scope,
|
scope = self._scope,
|
||||||
data = json.dumps({"data": {"material_profile_id": self._archive_remote_id}}).encode("UTF-8")
|
data = json.dumps({"data": {"material_profile_id": self._archive_remote_id}}).encode("UTF-8")
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user