diff --git a/distro/distro.py b/distro/distro.py index c793bd4..0fcab39 100644 --- a/distro/distro.py +++ b/distro/distro.py @@ -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()] diff --git a/distro/repo.py b/distro/repo.py index c342652..851e1b7 100644 --- a/distro/repo.py +++ b/distro/repo.py @@ -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