From 35e9971c34e7e097067e3787258f3d532bc9068c Mon Sep 17 00:00:00 2001 From: Elvis Pranskevichus Date: Mon, 14 Oct 2024 16:11:27 -0700 Subject: [PATCH] server: Record package metadata tags in indexes --- pyproject.toml | 8 ++++++++ server/process_incoming.py | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3607ab0..96a3aad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,14 @@ dependencies = ["metapkg@git+https://github.com/edgedb/metapkg.git"] requires = ["setuptools>=64", "setuptools-scm>=8"] build-backend = "setuptools.build_meta" +[project.optional-dependencies] +dev = ['black', 'ruff', 'mypy'] +server = [ + "boto3-stubs[boto3,s3] ~= 1.35.40", + "python-debian ~= 0.1.49", + "semver ~= 3.0.2", +] + [tool.setuptools] packages = { find = { include = ["edgedbpkg", "edgedbpkg.*"] } } zip-safe = false diff --git a/server/process_incoming.py b/server/process_incoming.py index 63dbac0..c0b3f83 100755 --- a/server/process_incoming.py +++ b/server/process_incoming.py @@ -200,6 +200,7 @@ class Package(TypedDict): architecture: str # x86_64 revision: str # 2020091300~nightly build_date: str # 2023-12-14T21:30:16+00:00 + tags: dict[str, str] # {extension: postgis} installrefs: list[InstallRef] installref: str @@ -382,7 +383,7 @@ def append_artifact( metadata["revision"], ) version_details = metadata["version_details"] - + tags = metadata.get("tags", {}) index_key = (metadata["name"], version_key, metadata["architecture"]) prev_pkg = packages.get(index_key) if prev_pkg is not None: @@ -404,6 +405,7 @@ def append_artifact( "build_date", "1970-01-01T00:00:00+00:00", ), + tags=tags, architecture=metadata["architecture"], installref=installref["ref"], installrefs=[installref], @@ -425,6 +427,8 @@ def load_index(idxfile: pathlib.Path) -> PackageIndex: pkg["version_key"], pkg["architecture"], ) + if "tags" not in pkg: + pkg["tags"] = {} index[index_key] = Package(**pkg) # type: ignore return index