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(