Rename pkgmeta to pkgextra

So things are consistent
This commit is contained in:
Christoph Reiter
2023-09-17 18:54:47 +02:00
parent cdd119e863
commit f2ed76293f
6 changed files with 48 additions and 48 deletions

View File

@@ -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)

View File

@@ -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]

View File

@@ -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"]

View File

@@ -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

View File

@@ -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:

View File

@@ -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"