diff --git a/plugins/Marketplace/InstallMissingPackagesDialog.py b/plugins/Marketplace/InstallMissingPackagesDialog.py index eb6c03f81c..9e8f1f6476 100644 --- a/plugins/Marketplace/InstallMissingPackagesDialog.py +++ b/plugins/Marketplace/InstallMissingPackagesDialog.py @@ -26,8 +26,7 @@ class InstallMissingPackageDialog(QObject): self._restart_needed = False self._package_metadata: List[Dict[str, str]] = packages_metadata - self._package_model = MissingPackageList() - self._package_model.setPackageIds(packages_metadata) + self._package_model = MissingPackageList(packages_metadata) def show(self): plugin_path = self._plugin_registry.getPluginPath("Marketplace") diff --git a/plugins/Marketplace/MissingPackageList.py b/plugins/Marketplace/MissingPackageList.py index b036e8b966..818b54eb37 100644 --- a/plugins/Marketplace/MissingPackageList.py +++ b/plugins/Marketplace/MissingPackageList.py @@ -17,16 +17,10 @@ if TYPE_CHECKING: catalog = i18nCatalog("cura") class MissingPackageList(RemotePackageList): - def __init__(self, parent: Optional["QObject"] = None) -> None: + def __init__(self, packages: List[Dict[str, str]], parent: Optional["QObject"] = None) -> None: super().__init__(parent) self._package_metadata: List[Dict[str, str]] = [] # self.packageTypeFilter = None # This will be our new filter self._package_type_filter = "material" - - def setPackageIds(self, packages: List[Dict[str, str]]) -> None: - self._package_metadata = packages - search_string = ", ".join(map(lambda package: package["id"], packages)) - # self.setSearchString(search_string) - self.setSearchString("ABS") - - + self._search_type = "package_ids" + self._requested_search_string = ",".join(map(lambda package: package["id"], packages)) diff --git a/plugins/Marketplace/RemotePackageList.py b/plugins/Marketplace/RemotePackageList.py index c20efabbc2..d06d2c64c5 100644 --- a/plugins/Marketplace/RemotePackageList.py +++ b/plugins/Marketplace/RemotePackageList.py @@ -28,6 +28,7 @@ class RemotePackageList(PackageList): self._package_type_filter = "" self._requested_search_string = "" self._current_search_string = "" + self._search_type = "search" self._request_url = self._initialRequestUrl() self._ongoing_requests["get_packages"] = None self.isLoadingChanged.connect(self._onLoadingChanged) @@ -100,7 +101,7 @@ class RemotePackageList(PackageList): if self._package_type_filter != "": request_url += f"&package_type={self._package_type_filter}" if self._current_search_string != "": - request_url += f"&search={self._current_search_string}" + request_url += f"&{self._search_type}={self._current_search_string}" return request_url def _parseResponse(self, reply: "QNetworkReply") -> None: