Passed the sdk_version to the reevalute() function

CURA-7090
This commit is contained in:
Dimitriovski 2020-01-21 11:24:31 +01:00
parent 365c30fadb
commit 8abaa60052
No known key found for this signature in database
GPG key ID: 4E62757E2B0D304D
2 changed files with 6 additions and 4 deletions

View file

@ -8,11 +8,12 @@ from UM import i18nCatalog
from UM.Logger import Logger from UM.Logger import Logger
from UM.Message import Message from UM.Message import Message
from UM.Signal import Signal from UM.Signal import Signal
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication, ApplicationMetadata
from ..CloudApiModel import CloudApiModel from ..CloudApiModel import CloudApiModel
from .SubscribedPackagesModel import SubscribedPackagesModel from .SubscribedPackagesModel import SubscribedPackagesModel
from ..UltimakerCloudScope import UltimakerCloudScope from ..UltimakerCloudScope import UltimakerCloudScope
from typing import List, Dict, Any
class CloudPackageChecker(QObject): class CloudPackageChecker(QObject):
def __init__(self, application: CuraApplication) -> None: def __init__(self, application: CuraApplication) -> None:
@ -25,6 +26,7 @@ class CloudPackageChecker(QObject):
self._application.initializationFinished.connect(self._onAppInitialized) self._application.initializationFinished.connect(self._onAppInitialized)
self._i18n_catalog = i18nCatalog("cura") self._i18n_catalog = i18nCatalog("cura")
self._sdk_version = ApplicationMetadata.CuraSDKVersion
# This is a plugin, so most of the components required are not ready when # This is a plugin, so most of the components required are not ready when
# this is initialized. Therefore, we wait until the application is ready. # this is initialized. Therefore, we wait until the application is ready.
@ -40,14 +42,14 @@ class CloudPackageChecker(QObject):
if self._application.getCuraAPI().account.isLoggedIn: if self._application.getCuraAPI().account.isLoggedIn:
self._getUserPackages() self._getUserPackages()
def _handleCompatibilityData(self, json_data) -> None: def _handleCompatibilityData(self, json_data: List[Dict[str, List[Any]]]) -> None:
user_subscribed_packages = [plugin["package_id"] for plugin in json_data] user_subscribed_packages = [plugin["package_id"] for plugin in json_data]
user_installed_packages = self._package_manager.getUserInstalledPackages() user_installed_packages = self._package_manager.getUserInstalledPackages()
# We need to re-evaluate the dismissed packages # We need to re-evaluate the dismissed packages
# (i.e. some package might got updated to the correct SDK version in the meantime, # (i.e. some package might got updated to the correct SDK version in the meantime,
# hence remove them from the Dismissed Incompatible list) # hence remove them from the Dismissed Incompatible list)
self._package_manager.reEvaluateDismissedPackages(json_data) self._package_manager.reEvaluateDismissedPackages(json_data, self._sdk_version)
user_dismissed_packages = self._package_manager.getDismissedPackages() user_dismissed_packages = self._package_manager.getDismissedPackages()
if user_dismissed_packages: if user_dismissed_packages:
user_installed_packages += user_dismissed_packages user_installed_packages += user_dismissed_packages

View file

@ -47,7 +47,7 @@ class SubscribedPackagesModel(ListModel):
def addDiscrepancies(self, discrepancy: List[str]) -> None: def addDiscrepancies(self, discrepancy: List[str]) -> None:
self._discrepancies = discrepancy self._discrepancies = discrepancy
def getCompatiblePackages(self): def getCompatiblePackages(self) -> List[str]:
return [package for package in self._items if package["is_compatible"]] return [package for package in self._items if package["is_compatible"]]
def initialize(self, json_data: List[Dict[str, List[Any]]]) -> None: def initialize(self, json_data: List[Dict[str, List[Any]]]) -> None: