From 2857d9bf5c3ba8bf7bb44094f2dd10e1ae90a964 Mon Sep 17 00:00:00 2001 From: chris48s <chris48s@users.noreply.github.com> Date: Mon, 6 May 2024 19:58:12 +0100 Subject: [PATCH] fix [pypi] status badge when package has no 'Development Status' classifier (#10107) --- services/pypi/pypi-status.service.js | 7 ++++++- services/pypi/pypi-status.tester.js | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/services/pypi/pypi-status.service.js b/services/pypi/pypi-status.service.js index 769c376c57..0ba95bd141 100644 --- a/services/pypi/pypi-status.service.js +++ b/services/pypi/pypi-status.service.js @@ -28,6 +28,7 @@ export default class PypiStatus extends PypiBase { stable: 'brightgreen', mature: 'brightgreen', inactive: 'red', + unknown: 'lightgrey', }[status] return { @@ -48,7 +49,7 @@ export default class PypiStatus extends PypiBase { // - Development Status :: 6 - Mature // - Development Status :: 7 - Inactive // https://pypi.org/pypi?%3Aaction=list_classifiers - const status = parseClassifiers( + let status = parseClassifiers( packageData, /^Development Status :: (\d - \S+)$/, ) @@ -57,6 +58,10 @@ export default class PypiStatus extends PypiBase { .map(classifier => classifier.replace(/production\/stable/i, 'stable')) .pop() + if (!status) { + status = 'Unknown' + } + return this.constructor.render({ status }) } } diff --git a/services/pypi/pypi-status.tester.js b/services/pypi/pypi-status.tester.js index 764254fe0e..e2f32bb8e9 100644 --- a/services/pypi/pypi-status.tester.js +++ b/services/pypi/pypi-status.tester.js @@ -13,6 +13,10 @@ t.create('status (valid, beta)') .get('/django/2.0rc1.json') .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)') .get('/not-a-package.json') .expectBadge({ label: 'status', message: 'package or version not found' }) -- GitLab