def __init__(self, *args, **kwargs): requirement = kwargs.pop('requirement', None) super(PackageVersion, self).__init__(*args, **kwargs) if requirement is None: return self.raw = requirement.line self.package_name = requirement.name self.is_editable = requirement.editable if requirement.editable: self.url = requirement.uri else: # HACK: we only take the first version. self.current_version = Version.coerce(requirement.specs[0][1]) self.url = package_url(requirement.name)
def test_version_diff(self): self.assertEqual(package_url('foo'), u"http://pypi.python.org/pypi/foo/json") self.assertEqual(package_info('foo'), TEST_INFO) self.assertEqual(package_version(TEST_INFO), Version(TEST_INFO.get('version'))) self.assertEqual(package_licence(TEST_INFO), TEST_INFO.get('license'))