diff --git a/plugins/Toolbox/src/CloudSync/DiscrepanciesPresenter.py b/plugins/Toolbox/src/CloudSync/DiscrepanciesPresenter.py index 9e7ad518ad..ecb322f00e 100644 --- a/plugins/Toolbox/src/CloudSync/DiscrepanciesPresenter.py +++ b/plugins/Toolbox/src/CloudSync/DiscrepanciesPresenter.py @@ -24,6 +24,7 @@ class DiscrepanciesPresenter(QObject): def present(self, plugin_path: str, model: SubscribedPackagesModel): path = os.path.join(plugin_path, self._compatibility_dialog_path) self._dialog = self._app.createQmlComponent(path, {"subscribedPackagesModel": model}) + assert self._dialog self._dialog.accepted.connect(lambda: self._onConfirmClicked(model)) def _onConfirmClicked(self, model: SubscribedPackagesModel): diff --git a/plugins/Toolbox/src/CloudSync/DownloadPresenter.py b/plugins/Toolbox/src/CloudSync/DownloadPresenter.py index dcb74ca41f..623eacc395 100644 --- a/plugins/Toolbox/src/CloudSync/DownloadPresenter.py +++ b/plugins/Toolbox/src/CloudSync/DownloadPresenter.py @@ -42,11 +42,20 @@ class DownloadPresenter: for item in model.items: package_id = item["package_id"] + def finishedCallback(reply: QNetworkReply, pid = package_id) -> None: + self._onFinished(pid, reply) + + def progressCallback(rx: int, rt: int, pid = package_id) -> None: + self._onProgress(pid, rx, rt) + + def errorCallback(reply: QNetworkReply, error: QNetworkReply.NetworkError, pid = package_id) -> None: + self._onError(pid) + request_data = manager.get( item["download_url"], - callback = lambda reply, pid = package_id: self._onFinished(pid, reply), - download_progress_callback = lambda rx, rt, pid = package_id: self._onProgress(pid, rx, rt), - error_callback = lambda rx, rt, pid = package_id: self._onProgress(pid, rx, rt), + callback = finishedCallback, + download_progress_callback = progressCallback, + error_callback = errorCallback, scope = self._scope) self._progress[package_id] = { diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 54fe80e23c..8098d90d99 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -48,7 +48,7 @@ class Toolbox(QObject, Extension): self._download_request_data = None # type: Optional[HttpRequestData] self._download_progress = 0 # type: float self._is_downloading = False # type: bool - self._scope = UltimakerCloudScope(application) + self._scope = UltimakerCloudScope(application) # type: UltimakerCloudScope self._request_urls = {} # type: Dict[str, str] self._to_update = [] # type: List[str] # Package_ids that are waiting to be updated