add some reprs.

This commit is contained in:
Jelmer Vernooij 2021-04-06 17:09:22 +01:00
parent 0f08d14d81
commit 42e5e4faa7
No known key found for this signature in database
GPG key ID: 579C160D4C9E23E8
3 changed files with 25 additions and 3 deletions

View file

@ -188,7 +188,7 @@ def problem_to_upstream_requirement(problem): # noqa: C901
return PerlPreDeclaredRequirement(problem.name)
elif isinstance(problem, MissingCargoCrate):
# TODO(jelmer): handle problem.requirements
return CargoCrateRequirement(problem.name)
return CargoCrateRequirement(problem.crate)
elif isinstance(problem, MissingSetupPyCommand):
if problem.command == "test":
return PythonPackageRequirement("setuptools")

View file

@ -82,12 +82,19 @@ class AptManager(object):
]
return self._searchers
def package_exists(self, package):
@property
def apt_cache(self):
if self._apt_cache is None:
import apt
self._apt_cache = apt.Cache(rootdir=self.session.location)
return package in self._apt_cache
return self._apt_cache
def package_exists(self, package):
return package in self.apt_cache
def package_versions(self, package):
return list(self.apt_cache[package].versions)
def get_packages_for_paths(self, paths, regex=False, case_insensitive=False):
logging.debug("Searching for packages containing %r", paths)

View file

@ -281,6 +281,10 @@ class PkgConfigRequirement(Requirement):
self.module = module
self.minimum_version = minimum_version
def __repr__(self):
return "%s(%r, minimum_version=%r)" % (
type(self).__name__, self.module, self.minimum_version)
class PathRequirement(Requirement):
@ -290,6 +294,9 @@ class PathRequirement(Requirement):
super(PathRequirement, self).__init__("path")
self.path = path
def __repr__(self):
return "%s(%r)" % (type(self).__name__, self.path)
class CHeaderRequirement(Requirement):
@ -299,6 +306,9 @@ class CHeaderRequirement(Requirement):
super(CHeaderRequirement, self).__init__("c-header")
self.header = header
def __repr__(self):
return "%s(%r)" % (type(self).__name__, self.header)
class JavaScriptRuntimeRequirement(Requirement):
def __init__(self):
@ -659,3 +669,8 @@ class PythonModuleRequirement(Requirement):
)
p.communicate()
return p.returncode == 0
def __repr__(self):
return "%s(%r, python_version=%r, minimum_version=%r)" % (
type(self).__name__, self.module, self.python_version,
self.minimum_version)