Skip to content

Commit 2c1d41b

Browse files
Add pypi license detection updates
Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
1 parent 100b9e8 commit 2c1d41b

6 files changed

Lines changed: 63 additions & 42 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
license_expression: bsd-new
3+
is_license_tag: yes
4+
relevance: 100
5+
referenced_filenames:
6+
- LICENSE.rst
7+
---
8+
9+
BSD-3-Clause license_files: LICENSE.rst
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
license_expression: unknown-license-reference
3+
is_license_reference: yes
4+
is_continuous: yes
5+
relevance: 100
6+
referenced_filenames:
7+
- LICENSE.rst
8+
---
9+
10+
{{license_files = LICENSE.rst}}

src/packagedcode/pypi.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -794,10 +794,12 @@ def parse(cls, location):
794794
)
795795
]
796796

797-
extracted_license_statement = metadata.get('license', '')
797+
extracted_license_statement = metadata.get('license')
798798
license_file_references = metadata.get('license_files')
799799
if license_file_references:
800-
extracted_license_statement += f"license_files: {license_file_references}"
800+
if not extracted_license_statement:
801+
extracted_license_statement = ''
802+
extracted_license_statement += f" license_files: {license_file_references}"
801803

802804
yield models.PackageData(
803805
datasource_id=cls.datasource_id,

tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,23 @@
4242
"score": 100.0,
4343
"start_line": 1,
4444
"end_line": 1,
45-
"matched_length": 5,
45+
"matched_length": 7,
4646
"match_coverage": 100.0,
4747
"matcher": "1-hash",
4848
"license_expression": "bsd-new",
49-
"rule_identifier": "bsd-new_1303.RULE",
49+
"rule_identifier": "bsd-new_1305.RULE",
5050
"rule_relevance": 100,
51-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
52-
"matched_text": "BSD-3-Clause LICENSE.rst"
51+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
52+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
5353
}
5454
],
55-
"identifier": "bsd_new-93f27a43-68fa-0573-8609-f6d624f3ac9a"
55+
"identifier": "bsd_new-e58e9b3b-9926-376f-1c85-181d7df93c33"
5656
}
5757
],
5858
"other_license_expression": null,
5959
"other_license_expression_spdx": null,
6060
"other_license_detections": [],
61-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
61+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
6262
"notice_text": null,
6363
"source_packages": [],
6464
"extra_data": {},
@@ -184,23 +184,23 @@
184184
"score": 100.0,
185185
"start_line": 1,
186186
"end_line": 1,
187-
"matched_length": 5,
187+
"matched_length": 7,
188188
"match_coverage": 100.0,
189189
"matcher": "1-hash",
190190
"license_expression": "bsd-new",
191-
"rule_identifier": "bsd-new_1303.RULE",
191+
"rule_identifier": "bsd-new_1305.RULE",
192192
"rule_relevance": 100,
193-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
194-
"matched_text": "BSD-3-Clause LICENSE.rst"
193+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
194+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
195195
}
196196
],
197-
"identifier": "bsd_new-93f27a43-68fa-0573-8609-f6d624f3ac9a"
197+
"identifier": "bsd_new-e58e9b3b-9926-376f-1c85-181d7df93c33"
198198
}
199199
],
200200
"other_license_expression": null,
201201
"other_license_expression_spdx": null,
202202
"other_license_detections": [],
203-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
203+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
204204
"notice_text": null,
205205
"source_packages": [],
206206
"file_references": [],

tests/packagedcode/data/instance/python-package-instance-expected.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,23 @@
4242
"score": 100.0,
4343
"start_line": 1,
4444
"end_line": 1,
45-
"matched_length": 5,
45+
"matched_length": 7,
4646
"match_coverage": 100.0,
4747
"matcher": "1-hash",
4848
"license_expression": "bsd-new",
49-
"rule_identifier": "bsd-new_1303.RULE",
49+
"rule_identifier": "bsd-new_1305.RULE",
5050
"rule_relevance": 100,
51-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
52-
"matched_text": "BSD-3-Clause LICENSE.rst"
51+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
52+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
5353
}
5454
],
55-
"identifier": "bsd_new-93f27a43-68fa-0573-8609-f6d624f3ac9a"
55+
"identifier": "bsd_new-e58e9b3b-9926-376f-1c85-181d7df93c33"
5656
}
5757
],
5858
"other_license_expression": null,
5959
"other_license_expression_spdx": null,
6060
"other_license_detections": [],
61-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
61+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
6262
"notice_text": null,
6363
"source_packages": [],
6464
"extra_data": {},
@@ -184,23 +184,23 @@
184184
"score": 100.0,
185185
"start_line": 1,
186186
"end_line": 1,
187-
"matched_length": 5,
187+
"matched_length": 7,
188188
"match_coverage": 100.0,
189189
"matcher": "1-hash",
190190
"license_expression": "bsd-new",
191-
"rule_identifier": "bsd-new_1303.RULE",
191+
"rule_identifier": "bsd-new_1305.RULE",
192192
"rule_relevance": 100,
193-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
194-
"matched_text": "BSD-3-Clause LICENSE.rst"
193+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
194+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
195195
}
196196
],
197-
"identifier": "bsd_new-93f27a43-68fa-0573-8609-f6d624f3ac9a"
197+
"identifier": "bsd_new-e58e9b3b-9926-376f-1c85-181d7df93c33"
198198
}
199199
],
200200
"other_license_expression": null,
201201
"other_license_expression_spdx": null,
202202
"other_license_detections": [],
203-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
203+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
204204
"notice_text": null,
205205
"source_packages": [],
206206
"file_references": [],

tests/packagedcode/data/instance/python-package-instance-with-license-expected.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@
4242
"score": 100.0,
4343
"start_line": 1,
4444
"end_line": 1,
45-
"matched_length": 5,
45+
"matched_length": 7,
4646
"match_coverage": 100.0,
4747
"matcher": "1-hash",
4848
"license_expression": "bsd-new",
49-
"rule_identifier": "bsd-new_1303.RULE",
49+
"rule_identifier": "bsd-new_1305.RULE",
5050
"rule_relevance": 100,
51-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
52-
"matched_text": "BSD-3-Clause LICENSE.rst"
51+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
52+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
5353
},
5454
{
5555
"score": 99.0,
@@ -64,7 +64,7 @@
6464
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE"
6565
}
6666
],
67-
"identifier": "bsd_new-56110dee-5dcd-3acb-7774-ab2491cc76bf",
67+
"identifier": "bsd_new-c0e1e2ee-7e69-b9f1-a736-85b2eaa65db2",
6868
"detection_log": [
6969
"package-unknown-reference-to-local-file"
7070
]
@@ -73,7 +73,7 @@
7373
"other_license_expression": null,
7474
"other_license_expression_spdx": null,
7575
"other_license_detections": [],
76-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
76+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
7777
"notice_text": null,
7878
"source_packages": [],
7979
"extra_data": {},
@@ -142,19 +142,19 @@
142142
"detection_log": []
143143
},
144144
{
145-
"identifier": "bsd_new-56110dee-5dcd-3acb-7774-ab2491cc76bf",
145+
"identifier": "bsd_new-68720980-08c9-ffb1-f28e-24c2e067385b",
146146
"license_expression": "bsd-new",
147147
"detection_count": 1,
148148
"detection_log": [
149-
"package-unknown-reference-to-local-file"
149+
"unknown-reference-to-local-file"
150150
]
151151
},
152152
{
153-
"identifier": "bsd_new-68720980-08c9-ffb1-f28e-24c2e067385b",
153+
"identifier": "bsd_new-c0e1e2ee-7e69-b9f1-a736-85b2eaa65db2",
154154
"license_expression": "bsd-new",
155155
"detection_count": 1,
156156
"detection_log": [
157-
"unknown-reference-to-local-file"
157+
"package-unknown-reference-to-local-file"
158158
]
159159
},
160160
{
@@ -259,14 +259,14 @@
259259
"score": 100.0,
260260
"start_line": 1,
261261
"end_line": 1,
262-
"matched_length": 5,
262+
"matched_length": 7,
263263
"match_coverage": 100.0,
264264
"matcher": "1-hash",
265265
"license_expression": "bsd-new",
266-
"rule_identifier": "bsd-new_1303.RULE",
266+
"rule_identifier": "bsd-new_1305.RULE",
267267
"rule_relevance": 100,
268-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1303.RULE",
269-
"matched_text": "BSD-3-Clause LICENSE.rst"
268+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE",
269+
"matched_text": "BSD-3-Clause license_files: LICENSE.rst"
270270
},
271271
{
272272
"score": 99.0,
@@ -281,7 +281,7 @@
281281
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE"
282282
}
283283
],
284-
"identifier": "bsd_new-56110dee-5dcd-3acb-7774-ab2491cc76bf",
284+
"identifier": "bsd_new-c0e1e2ee-7e69-b9f1-a736-85b2eaa65db2",
285285
"detection_log": [
286286
"package-unknown-reference-to-local-file"
287287
]
@@ -290,7 +290,7 @@
290290
"other_license_expression": null,
291291
"other_license_expression_spdx": null,
292292
"other_license_detections": [],
293-
"extracted_license_statement": "BSD-3-Clause LICENSE.rst",
293+
"extracted_license_statement": "BSD-3-Clause license_files: LICENSE.rst",
294294
"notice_text": null,
295295
"source_packages": [],
296296
"file_references": [],

0 commit comments

Comments
 (0)