mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-23 14:19:37 +08:00
Restore Backups: Fix reading which packages need to be reinstalled.
Also save the version, so we can get the correct url when redownloading the package (see next commits). part of CURA-12156
This commit is contained in:
parent
6458c17de5
commit
1f4f432d49
@ -110,12 +110,17 @@ class RestoreBackupJob(Job):
|
|||||||
self._job_done.set()
|
self._job_done.set()
|
||||||
return
|
return
|
||||||
|
|
||||||
to_install = set()
|
to_install = {}
|
||||||
try:
|
try:
|
||||||
with open(packages_path, "r") as packages_file:
|
with open(packages_path, "r") as packages_file:
|
||||||
packages_json = json.load(packages_file)
|
packages_json = json.load(packages_file)
|
||||||
if "to_install" in packages_json and "package_id" in packages_json["to_install"]:
|
if "to_install" in packages_json:
|
||||||
to_install.add(packages_json["to_install"]["package_id"])
|
for package_data in packages_json["to_install"].values():
|
||||||
|
if "package_info" not in package_data:
|
||||||
|
continue
|
||||||
|
package_info = package_data["package_info"]
|
||||||
|
if "package_id" in package_info and "sdk_version_semver" in package_info:
|
||||||
|
to_install[package_info["package_id"]] = package_info["sdk_version_semver"]
|
||||||
except IOError as ex:
|
except IOError as ex:
|
||||||
Logger.error(f"Couldn't open '{packages_path}' because '{str(ex)}' to get packages to re-install.")
|
Logger.error(f"Couldn't open '{packages_path}' because '{str(ex)}' to get packages to re-install.")
|
||||||
self.restore_backup_error_message = self.DEFAULT_ERROR_MESSAGE
|
self.restore_backup_error_message = self.DEFAULT_ERROR_MESSAGE
|
||||||
@ -132,7 +137,7 @@ class RestoreBackupJob(Job):
|
|||||||
def packageDownloadCallback(package_id: str, msg: "QNetworkReply", err: "QNetworkReply.NetworkError" = None) -> None:
|
def packageDownloadCallback(package_id: str, msg: "QNetworkReply", err: "QNetworkReply.NetworkError" = None) -> None:
|
||||||
if err is not None or HttpRequestManager.safeHttpStatus(msg) != 200:
|
if err is not None or HttpRequestManager.safeHttpStatus(msg) != 200:
|
||||||
redownload_errors.append(err)
|
redownload_errors.append(err)
|
||||||
to_install.remove(package_id)
|
del to_install[package_id]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with NamedTemporaryFile(mode="wb+", suffix=".curapackage") as temp_file:
|
with NamedTemporaryFile(mode="wb+", suffix=".curapackage") as temp_file:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user