Merge remote-tracking branch 'tonyseek/pypipins'
This commit is contained in:
commit
c53b8a2a2e
71
server.js
71
server.js
|
@ -1473,16 +1473,83 @@ cache(function(data, match, sendBadge, request) {
|
|||
badgeData.text[1] = vdata.version;
|
||||
badgeData.colorscheme = vdata.color;
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info == 'l') {
|
||||
} else if (info === 'l') {
|
||||
var license = data.info.license;
|
||||
badgeData.text[0] = 'license';
|
||||
if (license == null || license == 'UNKNOWN') {
|
||||
if (license === null || license === 'UNKNOWN') {
|
||||
badgeData.text[1] = 'Unknown';
|
||||
} else {
|
||||
badgeData.text[1] = license;
|
||||
badgeData.colorscheme = 'blue';
|
||||
}
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info === 'wheel') {
|
||||
var releases = data.releases[data.info.version];
|
||||
var hasWheel = false;
|
||||
for (var i = 0; i < releases.length; i++) {
|
||||
if (releases[i].packagetype === 'wheel' ||
|
||||
releases[i].packagetype === 'bdist_wheel') {
|
||||
hasWheel = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
badgeData.text[0] = 'wheel';
|
||||
badgeData.text[1] = hasWheel ? 'yes' : 'no';
|
||||
badgeData.colorscheme = hasWheel ? 'brightgreen' : 'red';
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info === 'pyversions') {
|
||||
var versions = [];
|
||||
var pattern = /^Programming Language \:\: Python \:\: (\d\.\d)$/;
|
||||
for (var i = 0; i < data.info.classifiers.length; i++) {
|
||||
var matched = pattern.exec(data.info.classifiers[i]);
|
||||
if (matched && matched[1]) {
|
||||
versions.push(matched[1]);
|
||||
}
|
||||
}
|
||||
if (!versions.length) {
|
||||
versions.push('not found');
|
||||
}
|
||||
badgeData.text[0] = 'python';
|
||||
badgeData.text[1] = versions.sort().join(', ');
|
||||
badgeData.colorscheme = 'blue';
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info === 'implementation') {
|
||||
var implementations = [];
|
||||
var pattern = /^Programming Language \:\: Python \:\: Implementation \:\: (\S+)$/;
|
||||
for (var i = 0; i < data.info.classifiers.length; i++) {
|
||||
var matched = pattern.exec(data.info.classifiers[i]);
|
||||
if (matched && matched[1]) {
|
||||
implementations.push(matched[1].toLowerCase());
|
||||
}
|
||||
}
|
||||
if (!implementations.length) {
|
||||
implementations.push('cpython'); // assume CPython
|
||||
}
|
||||
badgeData.text[0] = 'implementation';
|
||||
badgeData.text[1] = implementations.sort().join(', ');
|
||||
badgeData.colorscheme = 'blue';
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info === 'status') {
|
||||
var pattern = /^Development Status \:\: ([1-7]) - (\S+)$/;
|
||||
var statusColors = {
|
||||
'1': 'red', '2': 'red', '3': 'red', '4': 'yellow',
|
||||
'5': 'brightgreen', '6': 'brightgreen', '7': 'red'};
|
||||
var statusCode = '1', statusText = 'unknown';
|
||||
for (var i = 0; i < data.info.classifiers.length; i++) {
|
||||
var matched = pattern.exec(data.info.classifiers[i]);
|
||||
if (matched && matched[1] && matched[2]) {
|
||||
statusCode = matched[1];
|
||||
statusText = matched[2].toLowerCase().replace('-', '--');
|
||||
if (statusText == 'production/stable') {
|
||||
statusText = 'stable';
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
badgeData.text[0] = 'status';
|
||||
badgeData.text[1] = statusText;
|
||||
badgeData.colorscheme = statusColors[statusCode];
|
||||
sendBadge(format, badgeData);
|
||||
}
|
||||
} catch(e) {
|
||||
badgeData.text[1] = 'invalid';
|
||||
|
|
16
try.html
16
try.html
|
@ -518,6 +518,22 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
|
|||
<td><img src='/pypi/l/Django.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/pypi/l/Django.svg</code></td>
|
||||
</tr>
|
||||
<tr><th data-keywords='python'> PyPI: </th>
|
||||
<td><img src='/pypi/wheel/Django.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/pypi/wheel/Django.svg</code></td>
|
||||
</tr>
|
||||
<tr><th data-keywords='python'> PyPI: </th>
|
||||
<td><img src='/pypi/pyversions/Django.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/pypi/pyversions/Django.svg</code></td>
|
||||
</tr>
|
||||
<tr><th data-keywords='python'> PyPI: </th>
|
||||
<td><img src='/pypi/implementation/Django.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/pypi/implementation/Django.svg</code></td>
|
||||
</tr>
|
||||
<tr><th data-keywords='python'> PyPI: </th>
|
||||
<td><img src='/pypi/status/Django.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/pypi/status/Django.svg</code></td>
|
||||
</tr>
|
||||
<tr><th> Hex.pm: </th>
|
||||
<td><img src='/hexpm/l/plug.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/hexpm/l/plug.svg</code></td>
|
||||
|
|
Loading…
Reference in New Issue
Block a user