From 7243dc63a4f8815f80d244462e09734e485913f4 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Mon, 2 Mar 2020 15:12:42 +0100 Subject: [PATCH] Revert: Refactor UploadBackupJob to use HttpRequestManager It doesn't make sense to have a Job using HttpRequestManager because both are async and Note that the job itself should not emit finished, the JobQueue does that. --- plugins/CuraDrive/src/DriveApiService.py | 4 +-- plugins/CuraDrive/src/UploadBackupJob.py | 37 ++++++++---------------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/plugins/CuraDrive/src/DriveApiService.py b/plugins/CuraDrive/src/DriveApiService.py index 3a94cf7aa0..ba43d01187 100644 --- a/plugins/CuraDrive/src/DriveApiService.py +++ b/plugins/CuraDrive/src/DriveApiService.py @@ -87,9 +87,9 @@ class DriveApiService: upload_backup_job.start() def _onUploadFinished(self, job: "UploadBackupJob") -> None: - if job.backup_upload_error_text != "": + if job.backup_upload_error_message != "": # If the job contains an error message we pass it along so the UI can display it. - self.creatingStateChanged.emit(is_creating = False, error_message = job.backup_upload_error_text) + self.creatingStateChanged.emit(is_creating = False, error_message = job.backup_upload_error_message) else: self.creatingStateChanged.emit(is_creating = False) diff --git a/plugins/CuraDrive/src/UploadBackupJob.py b/plugins/CuraDrive/src/UploadBackupJob.py index 598da495bd..8ade697cb3 100644 --- a/plugins/CuraDrive/src/UploadBackupJob.py +++ b/plugins/CuraDrive/src/UploadBackupJob.py @@ -1,11 +1,11 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt5.QtNetwork import QNetworkReply + +import requests from UM.Job import Job from UM.Logger import Logger from UM.Message import Message -from UM.TaskManagement.HttpRequestManager import HttpRequestManager from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") @@ -21,32 +21,19 @@ class UploadBackupJob(Job): self._signed_upload_url = signed_upload_url self._backup_zip = backup_zip self._upload_success = False - self.backup_upload_error_text = "" - self._message = None + self.backup_upload_error_message = "" def run(self) -> None: - self._message = Message(catalog.i18nc("@info:backup_status", "Uploading your backup..."), title = self.MESSAGE_TITLE, progress = -1) - self._message.show() + upload_message = Message(catalog.i18nc("@info:backup_status", "Uploading your backup..."), title = self.MESSAGE_TITLE, progress = -1) + upload_message.show() - HttpRequestManager.getInstance().put( - self._signed_upload_url, - data = self._backup_zip, - callback = self.uploadFinishedCallback, - error_callback = self.uploadFinishedCallback - ) + backup_upload = requests.put(self._signed_upload_url, data = self._backup_zip) + upload_message.hide() - def uploadFinishedCallback(self, reply: QNetworkReply, error: QNetworkReply.NetworkError = None): - self._message.hide() - - self.backup_upload_error_text = HttpRequestManager.readText(reply) - - if HttpRequestManager.replyIndicatesSuccess(reply, error): + if backup_upload.status_code >= 300: + self.backup_upload_error_message = backup_upload.text + Logger.log("w", "Could not upload backup file: %s", backup_upload.text) + Message(catalog.i18nc("@info:backup_status", "There was an error while uploading your backup."), title = self.MESSAGE_TITLE).show() + else: self._upload_success = True Message(catalog.i18nc("@info:backup_status", "Your backup has finished uploading."), title = self.MESSAGE_TITLE).show() - else: - self.backup_upload_error_text = self.backup_upload_error_text - Logger.log("w", "Could not upload backup file: %s", self.backup_upload_error_text) - Message(catalog.i18nc("@info:backup_status", "There was an error while uploading your backup."), - title=self.MESSAGE_TITLE).show() - - self.finished.emit(self)