From 4ccd4caaad92d1333f7f5288982ca5db5dbc46d6 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 12 Oct 2021 13:04:22 +0200 Subject: [PATCH] Store material profile ID received from the upload request We'll need this later to be able to tell the server which material archive it should send to certain printers. Contributes to issue CURA-8609. --- cura/PrinterOutput/UploadMaterialsJob.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cura/PrinterOutput/UploadMaterialsJob.py b/cura/PrinterOutput/UploadMaterialsJob.py index 7cad115bb1..def7ff261f 100644 --- a/cura/PrinterOutput/UploadMaterialsJob.py +++ b/cura/PrinterOutput/UploadMaterialsJob.py @@ -36,6 +36,7 @@ class UploadMaterialsJob(Job): self._material_sync = material_sync self._scope = JsonDecoratorScope(UltimakerCloudScope(cura.CuraApplication.CuraApplication.getInstance())) # type: JsonDecoratorScope self._archive_filename = None # type: Optional[str] + self._archive_remote_id = None # type: Optional[str] # ID that the server gives to this archive. Used to communicate about the archive to the server. uploadCompleted = Signal() uploadProgressChanged = Signal() @@ -69,10 +70,15 @@ class UploadMaterialsJob(Job): return if "upload_url" not in response_data: Logger.error(f"Invalid response to material upload request: Missing 'upload_url' field to upload archive to.") - self.setResult(self.Result.Failed) + self.setResult(self.Result.FAILED) + return + if "material_profile_id" not in response_data: + Logger.error(f"Invalid response to material upload request: Missing 'material_profile_id' to communicate about the materials with the server.") + self.setResult(self.Result.FAILED) return upload_url = response_data["upload_url"] + self._archive_remote_id = response_data["material_profile_id"] file_data = open(self._archive_filename, "rb").read() http = HttpRequestManager.getInstance() http.put(