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) return PerlPreDeclaredRequirement(problem.name)
elif isinstance(problem, MissingCargoCrate): elif isinstance(problem, MissingCargoCrate):
# TODO(jelmer): handle problem.requirements # TODO(jelmer): handle problem.requirements
return CargoCrateRequirement(problem.name) return CargoCrateRequirement(problem.crate)
elif isinstance(problem, MissingSetupPyCommand): elif isinstance(problem, MissingSetupPyCommand):
if problem.command == "test": if problem.command == "test":
return PythonPackageRequirement("setuptools") return PythonPackageRequirement("setuptools")

View file

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

View file

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