diff --git a/app/api.py b/app/api.py index d06c06d..f47dae2 100644 --- a/app/api.py +++ b/app/api.py @@ -301,7 +301,7 @@ async def outofdate(request: Request, response: Response) -> List[OutOfDateEntry to_update = [] for s in state.sources.values(): - if s.pkgmeta.internal: + if s.pkgextra.internal: continue git_version = extract_upstream_version(s.git_version) diff --git a/app/appstate.py b/app/appstate.py index 7cd20aa..8d9177f 100644 --- a/app/appstate.py +++ b/app/appstate.py @@ -18,7 +18,7 @@ from .appconfig import REPOSITORIES from .utils import vercmp, version_is_newer_than, extract_upstream_version, split_depends, \ split_optdepends, strip_vcs from .pgp import parse_signature -from .pkgmeta import PkgMeta, PkgMetaEntry +from .pkgextra import PkgExtra, PkgExtraEntry PackageKey = Tuple[str, str, str, str, str] @@ -170,7 +170,7 @@ class AppState: self._last_update = 0.0 self._sources: Dict[str, Source] = {} self._sourceinfos: Dict[str, SrcInfoPackage] = {} - self._pkgmeta: PkgMeta = PkgMeta(packages={}) + self._pkgextra: PkgExtra = PkgExtra(packages={}) self._ext_infos: Dict[ExtId, Dict[str, ExtInfo]] = {} self._build_status: BuildStatus = BuildStatus() self._update_etag() @@ -206,12 +206,12 @@ class AppState: self._update_etag() @property - def pkgmeta(self) -> PkgMeta: - return self._pkgmeta + def pkgextra(self) -> PkgExtra: + return self._pkgextra - @pkgmeta.setter - def pkgmeta(self, pkgmeta: PkgMeta) -> None: - self._pkgmeta = pkgmeta + @pkgextra.setter + def pkgextra(self, pkgextra: PkgExtra) -> None: + self._pkgextra = pkgextra self._update_etag() @property @@ -284,29 +284,29 @@ class Package: return "Package(%s)" % self.fileurl @property - def pkgmeta(self) -> PkgMetaEntry: + def pkgextra(self) -> PkgExtraEntry: global state - return state.pkgmeta.packages.get(self.base, PkgMetaEntry()) + return state.pkgextra.packages.get(self.base, PkgExtraEntry()) @property def urls(self) -> List[Tuple[str, str]]: """Returns a list of (name, url) tuples for the various URLs of the package""" - meta = self.pkgmeta + extra = self.pkgextra urls = [] - # homepage from the PKGBUILD, everything else from PKGMETA + # homepage from the PKGBUILD, everything else from the extra metadata urls.append(("Homepage", self.url)) - if meta.changelog_url is not None: - urls.append(("Changelog", meta.changelog_url)) - if meta.repository_url is not None: - urls.append(("Repository", meta.repository_url)) - if meta.issue_tracker_url is not None: - urls.append(("Issue tracker", meta.issue_tracker_url)) - if meta.documentation_url is not None: - urls.append(("Documentation", meta.documentation_url)) - if meta.pgp_keys_url is not None: - urls.append(("PGP keys", meta.pgp_keys_url)) + if extra.changelog_url is not None: + urls.append(("Changelog", extra.changelog_url)) + if extra.repository_url is not None: + urls.append(("Repository", extra.repository_url)) + if extra.issue_tracker_url is not None: + urls.append(("Issue tracker", extra.issue_tracker_url)) + if extra.documentation_url is not None: + urls.append(("Documentation", extra.documentation_url)) + if extra.pgp_keys_url is not None: + urls.append(("PGP keys", extra.pgp_keys_url)) return urls @property @@ -464,10 +464,10 @@ class Source: return upstream_info.version if upstream_info is not None else "" @property - def pkgmeta(self) -> PkgMetaEntry: + def pkgextra(self) -> PkgExtraEntry: global state - return state.pkgmeta.packages.get(self.name, PkgMetaEntry()) + return state.pkgextra.packages.get(self.name, PkgExtraEntry()) @property def urls(self) -> List[Tuple[str, str]]: @@ -478,13 +478,13 @@ class Source: global state # internal package, don't try to link it - if self.pkgmeta.internal: + if self.pkgextra.internal: return [] ext = [] for ext_id in state.ext_info_ids: - if ext_id.id in self.pkgmeta.references: - mapped = self.pkgmeta.references[ext_id.id] + if ext_id.id in self.pkgextra.references: + mapped = self.pkgextra.references[ext_id.id] if mapped is None: continue variants = [mapped] diff --git a/app/fetch.py b/app/fetch.py index 773c2f8..a58688a 100644 --- a/app/fetch.py +++ b/app/fetch.py @@ -22,7 +22,7 @@ import zstandard from .appstate import state, Source, get_repositories, SrcInfoPackage, Package, DepType, Repository, BuildStatus, \ ExtInfo, ExtId -from .pkgmeta import PkgMeta, extra_to_pkgmeta_entry +from .pkgextra import PkgExtra, extra_to_pkgextra_entry from .appconfig import CYGWIN_METADATA_URL, REQUEST_TIMEOUT, AUR_METADATA_URL, ARCH_REPO_CONFIG, \ SRCINFO_URLS, UPDATE_INTERVAL, BUILD_STATUS_URLS, UPDATE_MIN_RATE, UPDATE_MIN_INTERVAL, PYPI_URLS from .utils import version_is_newer_than, arch_version_to_msys, extract_upstream_version, logger @@ -378,7 +378,7 @@ async def update_sourceinfos() -> None: logger.info("update sourceinfos") result: Dict[str, SrcInfoPackage] = {} - pkgmeta = PkgMeta(packages={}) + pkgextra = PkgExtra(packages={}) for url in urls: logger.info("Loading %r" % url) @@ -395,16 +395,16 @@ async def update_sourceinfos() -> None: f"{pkg.pkgbase} and {result[pkg.pkgname].pkgbase}") result[pkg.pkgname] = pkg if pkgbase is not None: - pkgmeta.packages[pkgbase] = extra_to_pkgmeta_entry(extra) + pkgextra.packages[pkgbase] = extra_to_pkgextra_entry(extra) if pkgbase == "autotools": - print(pkgmeta.packages[pkgbase]) + print(pkgextra.packages[pkgbase]) - state.pkgmeta = pkgmeta + state.pkgextra = pkgextra state.sourceinfos = result - await update_pypi_versions(pkgmeta) + await update_pypi_versions(pkgextra) -async def update_pypi_versions(pkgmeta: PkgMeta) -> None: +async def update_pypi_versions(pkgextra: PkgExtra) -> None: urls = PYPI_URLS if not await check_needs_update(urls): return @@ -417,7 +417,7 @@ async def update_pypi_versions(pkgmeta: PkgMeta) -> None: projects.update(json_obj.get("projects", {})) pypi_versions = {} - for entry in pkgmeta.packages.values(): + for entry in pkgextra.packages.values(): if "pypi" not in entry.references: continue pypi_name = entry.references["pypi"] diff --git a/app/pkgmeta.py b/app/pkgextra.py similarity index 86% rename from app/pkgmeta.py rename to app/pkgextra.py index 09df0ec..597954f 100644 --- a/app/pkgmeta.py +++ b/app/pkgextra.py @@ -5,7 +5,7 @@ from pydantic import BaseModel, Field from typing import Dict, Optional, Any, Sequence -class PkgMetaEntry(BaseModel): +class PkgExtraEntry(BaseModel): """Extra metadata for a PKGBUILD""" internal: bool = Field(default=False) @@ -33,10 +33,10 @@ class PkgMetaEntry(BaseModel): """A website containing which keys are used to sign releases""" -class PkgMeta(BaseModel): +class PkgExtra(BaseModel): - packages: Dict[str, PkgMetaEntry] - """A mapping of pkgbase names to PkgMetaEntry""" + packages: Dict[str, PkgExtraEntry] + """A mapping of pkgbase names to PkgExtraEntry""" def convert_mapping(array: Sequence[str]) -> Dict[str, Optional[str]]: @@ -52,7 +52,7 @@ def convert_mapping(array: Sequence[str]) -> Dict[str, Optional[str]]: return converted -def extra_to_pkgmeta_entry(data: Dict[str, Any]) -> PkgMetaEntry: +def extra_to_pkgextra_entry(data: Dict[str, Any]) -> PkgExtraEntry: mappings = ["references"] data = dict(data) @@ -60,5 +60,5 @@ def extra_to_pkgmeta_entry(data: Dict[str, Any]) -> PkgMetaEntry: if key in data: data[key] = convert_mapping(data[key]) - entry = PkgMetaEntry.model_validate(data) + entry = PkgExtraEntry.model_validate(data) return entry diff --git a/app/web.py b/app/web.py index c7f05a7..7e1b882 100644 --- a/app/web.py +++ b/app/web.py @@ -428,7 +428,7 @@ async def outofdate(request: Request, response: Response, related: Optional[str] for s in state.sources.values(): all_sources.append(s) - if s.pkgmeta.internal: + if s.pkgextra.internal: continue if related_depends: diff --git a/tests/test_main.py b/tests/test_main.py index 48ddb35..1556796 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -12,7 +12,7 @@ from app.appstate import SrcInfoPackage, parse_packager from app.fetch import parse_cygwin_versions from app.pgp import parse_signature, SigError, Signature from app.utils import split_optdepends, strip_vcs, vercmp -from app.pkgmeta import extra_to_pkgmeta_entry +from app.pkgextra import extra_to_pkgextra_entry from fastapi.testclient import TestClient @@ -235,12 +235,12 @@ def test_vercmp(): # test_ver(".0", "0", 1) -def test_extra_to_pkgmeta_entry(): - assert extra_to_pkgmeta_entry({"internal": "True"}).internal - assert not extra_to_pkgmeta_entry({"internal": "false"}).internal - assert extra_to_pkgmeta_entry( +def test_extra_to_pkgextra_entry(): + assert extra_to_pkgextra_entry({"internal": "True"}).internal + assert not extra_to_pkgextra_entry({"internal": "false"}).internal + assert extra_to_pkgextra_entry( {"references": ['foo: quux', 'bar']} ).references == {'foo': 'quux', 'bar': None} - assert extra_to_pkgmeta_entry( + assert extra_to_pkgextra_entry( {"changelog_url": "foo"} ).changelog_url == "foo"