12345678910111213141516171819202122232425262728293031323334 |
- from package import Package
- from reqPackage import ReqPackage
- class DistPackage(Package):
- """Wrapper class for pkg_resources.Distribution instances
- :param obj: pkg_resources.Distribution to wrap over
- :param req: optional ReqPackage object to associate this
- DistPackage with. This is useful for displaying the
- tree in reverse
- """
- def __init__(self, obj, req=None):
- super(DistPackage, self).__init__(obj)
- self.version_spec = None
- self.req = req
- def as_requirement(self):
- """Return a ReqPackage representation of this DistPackage"""
- return ReqPackage(self._obj.as_requirement(), dist=self)
- def as_required_by(self, req):
- """Return a DistPackage instance associated to a requirement
- This association is necessary for displaying the tree in
- reverse.
- :param ReqPackage req: the requirement to associate with
- :returns: DistPackage instance
- """
- return self.__class__(self._obj, req)
- def as_dict(self):
- return {'key': self.key,
- 'package_name': self.project_name,
- 'installed_version': self.version}
|