Skip to content

Commit

Permalink
Include the requirement/version info #253
Browse files Browse the repository at this point in the history
Signed-off-by: Li <[email protected]>
  • Loading branch information
Li committed Jun 12, 2019
1 parent 30ed9dc commit e0d9ba7
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 13 deletions.
27 changes: 16 additions & 11 deletions src/packagedcode/pypi.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,24 +421,24 @@ def parse_wheel(location):
return parse_with_pkginfo(wheel)


def parse_with_pkginfo(object):
if object and object.name:
def parse_with_pkginfo(pkginfo):
if pkginfo and pkginfo.name:
common_data = dict(
name=object.name,
version=object.version,
description = object.description,
download_url = object.download_url,
homepage_url = object.home_page,
name=pkginfo.name,
version=pkginfo.version,
description = pkginfo.description,
download_url = pkginfo.download_url,
homepage_url = pkginfo.home_page,
)
package = PythonPackage(**common_data)
if object.license:
if pkginfo.license:
#TODO: We should make the declared license as it is, this should be updated in scancode to parse a pure string
package.declared_license = {'license': object.license}
package.declared_license = {'license': pkginfo.license}

if object.maintainer:
if pkginfo.maintainer:
common_data['parties'] = []
common_data['parties'].append(models.Party(
type=models.party_person, name=object.maintainer, role='author', email=object.maintainer_email))
type=models.party_person, name=pkginfo.maintainer, role='author', email=pkginfo.maintainer_email))
return package


Expand All @@ -461,13 +461,18 @@ def parse_with_dparse(location):
return
package_dependencies = []
for df_dependency in df_dependencies:
specs = df_dependency.specs
requirement = None
if specs:
requirement = str(specs)
package_dependencies.append(
models.DependentPackage(
purl=PackageURL(
type='pypi', name=df_dependency.name).to_string(),
scope='dependencies',
is_runtime=True,
is_optional=False,
requirement = requirement,
)
)
return package_dependencies
Expand Down
4 changes: 2 additions & 2 deletions tests/packagedcode/test_pypi.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,5 +285,5 @@ def test_pkginfo_parse_with_wheelfile_with_parse_function(self):
def test_parse_with_dparse(self):
test_file = self.get_test_loc('pypi/dparse/requirements.txt')
dependencies = pypi.parse_with_dparse(test_file)
assert [DependentPackage(purl=u'pkg:pypi/lxml', requirement=None, scope='dependencies'),
DependentPackage(purl=u'pkg:pypi/requests', requirement=None, scope='dependencies')] == dependencies
assert [DependentPackage(purl=u'pkg:pypi/lxml', requirement='==3.4.4', scope='dependencies'),
DependentPackage(purl=u'pkg:pypi/requests', requirement='==2.7.0', scope='dependencies')] == dependencies

0 comments on commit e0d9ba7

Please sign in to comment.