Skip to content
Snippets Groups Projects
Unverified Commit 2857d9bf authored by chris48s's avatar chris48s Committed by GitHub
Browse files

fix [pypi] status badge when package has no 'Development Status' classifier (#10107)

parent f562fe7c
No related branches found
No related tags found
No related merge requests found
...@@ -28,6 +28,7 @@ export default class PypiStatus extends PypiBase { ...@@ -28,6 +28,7 @@ export default class PypiStatus extends PypiBase {
stable: 'brightgreen', stable: 'brightgreen',
mature: 'brightgreen', mature: 'brightgreen',
inactive: 'red', inactive: 'red',
unknown: 'lightgrey',
}[status] }[status]
return { return {
...@@ -48,7 +49,7 @@ export default class PypiStatus extends PypiBase { ...@@ -48,7 +49,7 @@ export default class PypiStatus extends PypiBase {
// - Development Status :: 6 - Mature // - Development Status :: 6 - Mature
// - Development Status :: 7 - Inactive // - Development Status :: 7 - Inactive
// https://pypi.org/pypi?%3Aaction=list_classifiers // https://pypi.org/pypi?%3Aaction=list_classifiers
const status = parseClassifiers( let status = parseClassifiers(
packageData, packageData,
/^Development Status :: (\d - \S+)$/, /^Development Status :: (\d - \S+)$/,
) )
...@@ -57,6 +58,10 @@ export default class PypiStatus extends PypiBase { ...@@ -57,6 +58,10 @@ export default class PypiStatus extends PypiBase {
.map(classifier => classifier.replace(/production\/stable/i, 'stable')) .map(classifier => classifier.replace(/production\/stable/i, 'stable'))
.pop() .pop()
if (!status) {
status = 'Unknown'
}
return this.constructor.render({ status }) return this.constructor.render({ status })
} }
} }
...@@ -13,6 +13,10 @@ t.create('status (valid, beta)') ...@@ -13,6 +13,10 @@ t.create('status (valid, beta)')
.get('/django/2.0rc1.json') .get('/django/2.0rc1.json')
.expectBadge({ label: 'status', message: 'beta' }) .expectBadge({ label: 'status', message: 'beta' })
t.create('status (status not specified)')
.get('/arcgis2geojson/3.0.2.json')
.expectBadge({ label: 'status', message: 'unknown' })
t.create('status (invalid)') t.create('status (invalid)')
.get('/not-a-package.json') .get('/not-a-package.json')
.expectBadge({ label: 'status', message: 'package or version not found' }) .expectBadge({ label: 'status', message: 'package or version not found' })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment