aboutsummaryrefslogtreecommitdiff
path: root/repos/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'repos/__init__.py')
-rw-r--r--repos/__init__.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/repos/__init__.py b/repos/__init__.py
index 416a0ac..75f25c3 100644
--- a/repos/__init__.py
+++ b/repos/__init__.py
@@ -16,19 +16,22 @@ def repos_from(module):
all_repos: List[Repository] = [
*repos_from(alpine_linux),
*repos_from(arch_linux),
- # *repos_from(crates_io),
+ *repos_from(crates_io),
*repos_from(debian),
*repos_from(homebrew),
*repos_from(ubuntu),
]
+def update_versions():
+ for repo in all_repos:
+ repo.update()
+
def get_versions(package: str, args: Mapping[str, str]) -> Mapping[str, Version]:
special_cases = dict()
for repo, name in args.items():
special_cases[repo] = name
result = dict()
for repo in all_repos:
- repo_versions = repo.get_versions()
if slug(repo.full_name()) in special_cases:
package_here = special_cases[slug(repo.full_name())]
elif slug(repo.family) in special_cases:
@@ -37,6 +40,7 @@ def get_versions(package: str, args: Mapping[str, str]) -> Mapping[str, Version]
package_here = special_cases[slug(repo.repo)]
else:
package_here = package
- if package_here in repo_versions:
- result[repo.full_name()] = repo_versions[package_here]
+ repo_version = repo.get_version(package_here)
+ if repo_version is not None:
+ result[repo.full_name()] = repo_version
return result