From bd202f55ce06515209cdc5e5abf0fbe93f044630 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 30 Mar 2022 14:43:02 +0300 Subject: [PATCH] Rename search "filters" to "qualifiers" --- platformio/clients/registry.py | 13 +++++++------ platformio/package/commands/publish.py | 2 +- platformio/package/commands/show.py | 12 ++++++------ platformio/package/manager/_install.py | 8 ++++---- platformio/package/manager/_registry.py | 20 ++++++++++---------- 5 files changed, 28 insertions(+), 27 deletions(-) diff --git a/platformio/clients/registry.py b/platformio/clients/registry.py index aba734ff..1ff6518a 100644 --- a/platformio/clients/registry.py +++ b/platformio/clients/registry.py @@ -105,11 +105,10 @@ class RegistryClient(HTTPClient): x_with_authorization=True, ) - def list_packages(self, query=None, filters=None, page=None): - assert query or filters + def list_packages(self, query=None, qualifiers=None, page=None, sort=None): search_query = [] - if filters: - valid_filters = ( + if qualifiers: + valid_qualifiers = ( "authors", "keywords", "frameworks", @@ -120,8 +119,8 @@ class RegistryClient(HTTPClient): "owners", "types", ) - assert set(filters.keys()) <= set(valid_filters) - for name, values in filters.items(): + assert set(qualifiers.keys()) <= set(valid_qualifiers) + for name, values in qualifiers.items(): for value in set( values if isinstance(values, (list, tuple)) else [values] ): @@ -131,6 +130,8 @@ class RegistryClient(HTTPClient): params = dict(query=" ".join(search_query)) if page: params["page"] = int(page) + if sort: + params["sort"] = sort return self.fetch_json_data( "get", "/v3/search", diff --git a/platformio/package/commands/publish.py b/platformio/package/commands/publish.py index e5aa3c05..100227ed 100644 --- a/platformio/package/commands/publish.py +++ b/platformio/package/commands/publish.py @@ -139,7 +139,7 @@ def check_package_duplicates( found = False items = ( RegistryClient() - .list_packages(filters=dict(types=[type], names=[name])) + .list_packages(qualifiers=dict(types=[type], names=[name])) .get("items") ) if not items: diff --git a/platformio/package/commands/show.py b/platformio/package/commands/show.py index 8f2a6578..cd95819e 100644 --- a/platformio/package/commands/show.py +++ b/platformio/package/commands/show.py @@ -41,7 +41,6 @@ def package_show_cmd(spec, pkg_type): "Could not find '%s' package in the PlatormIO Registry" % spec.humanize() ) - type_plural = "libraries" if data["type"] == "library" else (data["type"] + "s") click.echo() click.echo( "%s/%s" @@ -51,7 +50,7 @@ def package_show_cmd(spec, pkg_type): ) ) click.echo( - "%s • %s • %s • Published %s" + "%s • %s • %s • Published on %s" % ( data["type"].capitalize(), data["version"]["name"], @@ -61,6 +60,7 @@ def package_show_cmd(spec, pkg_type): ) click.echo() + type_plural = "libraries" if data["type"] == "library" else (data["type"] + "s") click.secho( "https://registry.platformio.org/%s/%s/%s" % (type_plural, data["owner"]["username"], quote(data["name"])), @@ -127,12 +127,12 @@ def fetch_package_data(spec, pkg_type=None): return client.get_package( pkg_type, spec.owner, spec.name, version=spec.requirements ) - filters = dict(names=spec.name.lower()) + qualifiers = dict(names=spec.name.lower()) if pkg_type: - filters["types"] = pkg_type + qualifiers["types"] = pkg_type if spec.owner: - filters["owners"] = spec.owner.lower() - packages = client.list_packages(filters=filters)["items"] + qualifiers["owners"] = spec.owner.lower() + packages = client.list_packages(qualifiers=qualifiers)["items"] if not packages: return None if len(packages) > 1: diff --git a/platformio/package/manager/_install.py b/platformio/package/manager/_install.py index 21860d4a..24846be1 100644 --- a/platformio/package/manager/_install.py +++ b/platformio/package/manager/_install.py @@ -55,7 +55,7 @@ class PackageManagerInstallMixin(object): def _install( self, spec, - search_filters=None, + search_qualifiers=None, skip_dependencies=False, force=False, ): @@ -94,7 +94,7 @@ class PackageManagerInstallMixin(object): if spec.external: pkg = self.install_from_url(spec.url, spec) else: - pkg = self.install_from_registry(spec, search_filters) + pkg = self.install_from_registry(spec, search_qualifiers) if not pkg or not pkg.metadata: raise PackageException( @@ -137,12 +137,12 @@ class PackageManagerInstallMixin(object): def install_dependency(self, dependency): spec = self.dependency_to_spec(dependency) - search_filters = { + search_qualifiers = { key: value for key, value in dependency.items() if key in ("authors", "platforms", "frameworks") } - return self._install(spec, search_filters=search_filters or None) + return self._install(spec, search_qualifiers=search_qualifiers or None) def install_from_url(self, url, spec, checksum=None): spec = self.ensure_spec(spec) diff --git a/platformio/package/manager/_registry.py b/platformio/package/manager/_registry.py index 715652bc..061f63a8 100644 --- a/platformio/package/manager/_registry.py +++ b/platformio/package/manager/_registry.py @@ -79,14 +79,14 @@ class RegistryFileMirrorIterator(object): class PackageManageRegistryMixin(object): - def install_from_registry(self, spec, search_filters=None): - if spec.owner and spec.name and not search_filters: + def install_from_registry(self, spec, search_qualifiers=None): + if spec.owner and spec.name and not search_qualifiers: package = self.fetch_registry_package(spec) if not package: raise UnknownPackageError(spec.humanize()) version = self.pick_best_registry_version(package["versions"], spec) else: - packages = self.search_registry_packages(spec, search_filters) + packages = self.search_registry_packages(spec, search_qualifiers) if not packages: raise UnknownPackageError(spec.humanize()) if len(packages) > 1: @@ -126,17 +126,17 @@ class PackageManageRegistryMixin(object): self._registry_client = RegistryClient() return self._registry_client - def search_registry_packages(self, spec, filters=None): + def search_registry_packages(self, spec, qualifiers=None): assert isinstance(spec, PackageSpec) - filters = filters or {} + qualifiers = qualifiers or {} if spec.id: - filters["ids"] = str(spec.id) + qualifiers["ids"] = str(spec.id) else: - filters["types"] = self.pkg_type - filters["names"] = spec.name.lower() + qualifiers["types"] = self.pkg_type + qualifiers["names"] = spec.name.lower() if spec.owner: - filters["owners"] = spec.owner.lower() - return self.get_registry_client_instance().list_packages(filters=filters)[ + qualifiers["owners"] = spec.owner.lower() + return self.get_registry_client_instance().list_packages(qualifiers=qualifiers)[ "items" ]