Skip to content

Commit c77d8b6

Browse files
committed
Provide classifiers in python-inspector output
Signed-off-by: Tushar Goel <[email protected]>
1 parent 1e7cf2b commit c77d8b6

15 files changed

+11072
-1630
lines changed

src/python_inspector/package_data.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,20 +125,32 @@ def get_pypi_data_from_purl(
125125
if dist_url not in valid_distribution_urls:
126126
continue
127127
digests = url.get("digests") or {}
128+
license_classifiers = []
129+
keyword_classifiers = []
130+
classifiers = info.get("classifiers") or []
131+
for clsfr in classifiers:
132+
if "License" in clsfr:
133+
license_classifiers.append(clsfr)
134+
else:
135+
keyword_classifiers.append(clsfr)
136+
128137
yield PackageData(
129138
primary_language="Python",
130-
description=info.get("description"),
139+
description=info.get("summary") or info.get("description"),
131140
homepage_url=homepage_url,
132141
api_data_url=api_url,
133142
bug_tracking_url=bug_tracking_url,
134143
code_view_url=code_view_url,
135-
declared_license=license,
144+
declared_license={
145+
"classifiers": license_classifiers,
146+
"license": license,
147+
},
136148
download_url=dist_url,
137149
size=url.get("size"),
138150
md5=digests.get("md5") or url.get("md5_digest"),
139151
sha256=digests.get("sha256"),
140152
release_date=url.get("upload_time"),
141-
keywords=info.get("keywords") or [],
153+
keywords=keyword_classifiers,
142154
parties=[
143155
models.Party(
144156
type=models.party_person,

tests/data/azure-devops.req-310-expected.json

Lines changed: 768 additions & 107 deletions
Large diffs are not rendered by default.

tests/data/azure-devops.req-38-expected.json

Lines changed: 768 additions & 107 deletions
Large diffs are not rendered by default.

tests/data/environment-marker-test-requirements.txt-expected.json

Lines changed: 211 additions & 30 deletions
Large diffs are not rendered by default.

tests/data/frozen-requirements.txt-expected.json

Lines changed: 3117 additions & 434 deletions
Large diffs are not rendered by default.

tests/data/insecure-setup-2/setup.py-expected.json

Lines changed: 2694 additions & 392 deletions
Large diffs are not rendered by default.

tests/data/insecure-setup/setup.py-expected.json

Lines changed: 126 additions & 18 deletions
Large diffs are not rendered by default.

tests/data/pdt-requirements.txt-expected.json

Lines changed: 211 additions & 30 deletions
Large diffs are not rendered by default.

tests/data/pinned-pdt-requirements.txt-expected.json

Lines changed: 1314 additions & 204 deletions
Large diffs are not rendered by default.

tests/data/pinned-requirements.txt-expected.json

Lines changed: 1314 additions & 204 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)