Skip to content

Commit 2857d9b

Browse files
authored
fix [pypi] status badge when package has no 'Development Status' classifier (#10107)
1 parent f562fe7 commit 2857d9b

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

services/pypi/pypi-status.service.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default class PypiStatus extends PypiBase {
2828
stable: 'brightgreen',
2929
mature: 'brightgreen',
3030
inactive: 'red',
31+
unknown: 'lightgrey',
3132
}[status]
3233

3334
return {
@@ -48,7 +49,7 @@ export default class PypiStatus extends PypiBase {
4849
// - Development Status :: 6 - Mature
4950
// - Development Status :: 7 - Inactive
5051
// https://pypi.org/pypi?%3Aaction=list_classifiers
51-
const status = parseClassifiers(
52+
let status = parseClassifiers(
5253
packageData,
5354
/^Development Status :: (\d - \S+)$/,
5455
)
@@ -57,6 +58,10 @@ export default class PypiStatus extends PypiBase {
5758
.map(classifier => classifier.replace(/production\/stable/i, 'stable'))
5859
.pop()
5960

61+
if (!status) {
62+
status = 'Unknown'
63+
}
64+
6065
return this.constructor.render({ status })
6166
}
6267
}

services/pypi/pypi-status.tester.js

+4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ t.create('status (valid, beta)')
1313
.get('/django/2.0rc1.json')
1414
.expectBadge({ label: 'status', message: 'beta' })
1515

16+
t.create('status (status not specified)')
17+
.get('/arcgis2geojson/3.0.2.json')
18+
.expectBadge({ label: 'status', message: 'unknown' })
19+
1620
t.create('status (invalid)')
1721
.get('/not-a-package.json')
1822
.expectBadge({ label: 'status', message: 'package or version not found' })

0 commit comments

Comments
 (0)