Compare SDK version as Version instances

This allows it to compare versions that are remote as integer and local as string, or vice-versa. Much more robust.

Contributes to issue CURA-5940.
This commit is contained in:
Ghostkeeper 2018-11-15 15:20:21 +01:00
parent 78e6494430
commit e9216936d7
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -512,7 +512,9 @@ class Toolbox(QObject, Extension):
# be upgradable.
elif remote_version == local_version:
# First read sdk_version_semver. If that doesn't exist, read just sdk_version (old version system).
can_upgrade = local_package.get("sdk_version_semver", local_package.get("sdk_version", 0)) < remote_package.get("sdk_version_semver", remote_package.get("sdk_version", 0))
remote_sdk_version = Version(remote_package.get("sdk_version_semver", remote_package.get("sdk_version", 0)))
local_sdk_version = Version(local_package.get("sdk_version_semver", local_package.get("sdk_version", 0)))
can_upgrade = local_sdk_version < remote_sdk_version
return can_upgrade