Rename pkgmeta to pkgextra
So things are consistent
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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]
|
||||
|
||||
16
app/fetch.py
16
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"]
|
||||
|
||||
@@ -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
|
||||
@@ -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:
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user