Fix Subscribing to a package

CURA-6983
This commit is contained in:
Nino van Hooff 2020-01-10 13:17:48 +01:00
parent 88d210d12d
commit 1cf3cd8228

View file

@ -152,9 +152,9 @@ class Toolbox(QObject, Extension):
def subscribe(self, package_id: str) -> None: def subscribe(self, package_id: str) -> None:
if self._application.getCuraAPI().account.isLoggedIn: if self._application.getCuraAPI().account.isLoggedIn:
data = "{\"data\": {\"package_id\": \"%s\", \"sdk_version\": \"%s\"}}" % (package_id, self._sdk_version) data = "{\"data\": {\"package_id\": \"%s\", \"sdk_version\": \"%s\"}}" % (package_id, self._sdk_version)
self._application.getHttpRequestManager().put(url=self._api_url_user_packages, self._application.getHttpRequestManager().put(url=CloudApiModel.api_url_user_packages,
headers_dict=self._request_headers, data=data.encode(),
data=data.encode() scope=self._scope
) )
def getLicenseDialogPluginFileLocation(self) -> str: def getLicenseDialogPluginFileLocation(self) -> str:
@ -299,13 +299,14 @@ class Toolbox(QObject, Extension):
self.metadataChanged.emit() self.metadataChanged.emit()
@pyqtSlot(str) @pyqtSlot(str)
def install(self, file_path: str) -> None: def install(self, file_path: str) -> Optional[str]:
self._package_manager.installPackage(file_path) package_id = self._package_manager.installPackage(file_path)
self.installChanged.emit() self.installChanged.emit()
self._updateInstalledModels() self._updateInstalledModels()
self.metadataChanged.emit() self.metadataChanged.emit()
self._restart_required = True self._restart_required = True
self.restartRequiredChanged.emit() self.restartRequiredChanged.emit()
return package_id
## Check package usage and uninstall ## Check package usage and uninstall
# If the package is in use, you'll get a confirmation dialog to set everything to default # If the package is in use, you'll get a confirmation dialog to set everything to default
@ -380,7 +381,9 @@ class Toolbox(QObject, Extension):
@pyqtSlot() @pyqtSlot()
def onLicenseAccepted(self): def onLicenseAccepted(self):
self.closeLicenseDialog.emit() self.closeLicenseDialog.emit()
self.install(self.getLicenseDialogPluginFileLocation()) package_id = self.install(self.getLicenseDialogPluginFileLocation())
self.subscribe(package_id)
@pyqtSlot() @pyqtSlot()
def onLicenseDeclined(self): def onLicenseDeclined(self):
@ -677,8 +680,10 @@ class Toolbox(QObject, Extension):
self.openLicenseDialog(package_info["package_id"], license_content, file_path) self.openLicenseDialog(package_info["package_id"], license_content, file_path)
return return
self.install(file_path) package_id = self.install(file_path)
self.subscribe(package_info["package_id"]) if package_id != package_info["package_id"]:
Logger.error("Installed package {} does not match {}".format(package_id, package_info["package_id"]))
self.subscribe(package_id)
# Getter & Setters for Properties: # Getter & Setters for Properties:
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------