distro: fixup package repo downloading and scanning

This commit is contained in:
InsanePrawn 2022-08-08 22:13:49 +02:00
parent ea7df92b7f
commit 597390c1e6
2 changed files with 4 additions and 3 deletions

View file

@ -25,13 +25,14 @@ class Distro:
scan=scan, scan=scan,
) )
def get_packages(self): def get_packages(self) -> dict[str, PackageInfo]:
""" get packages from all repos, semantically overlaying them""" """ get packages from all repos, semantically overlaying them"""
results = dict[str, PackageInfo]() results = dict[str, PackageInfo]()
for repo in self.repos.values().reverse(): for repo in list(self.repos.values())[::-1]:
assert (repo.packages is not None) assert (repo.packages is not None)
for package in repo.packages: for package in repo.packages:
results[package.name] = package results[package.name] = package
return results
def repos_config_snippet(self, extra_repos: Mapping[str, RepoInfo] = {}) -> str: def repos_config_snippet(self, extra_repos: Mapping[str, RepoInfo] = {}) -> str:
extras = [Repo(name, url_template=info.url_template, arch=self.arch, options=info.options, scan=False) for name, info in extra_repos.items()] extras = [Repo(name, url_template=info.url_template, arch=self.arch, options=info.options, scan=False) for name, info in extra_repos.items()]

View file

@ -12,7 +12,7 @@ from .package import PackageInfo
def resolve_url(url_template, repo_name: str, arch: str): def resolve_url(url_template, repo_name: str, arch: str):
result = url_template result = url_template
for template, replacement in {'$repo': repo_name, '$arch': config.runtime['arch']}.items(): for template, replacement in {'$repo': repo_name, '$arch': arch}.items():
result = result.replace(template, replacement) result = result.replace(template, replacement)
return result return result