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,
)
def get_packages(self):
def get_packages(self) -> dict[str, PackageInfo]:
""" get packages from all repos, semantically overlaying them"""
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)
for package in repo.packages:
results[package.name] = package
return results
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()]

View file

@ -12,7 +12,7 @@ from .package import PackageInfo
def resolve_url(url_template, repo_name: str, arch: str):
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)
return result