mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Rename search "filters" to "qualifiers"
This commit is contained in:
@ -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",
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
]
|
||||
|
||||
|
Reference in New Issue
Block a user