Skip to content

Commit

Permalink
Merge remote-tracking branch 'tonyseek/pypipins'
Browse files Browse the repository at this point in the history
  • Loading branch information
espadrine committed Jun 7, 2015
2 parents 7fb944f + 59e0a06 commit c53b8a2
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 2 deletions.
71 changes: 69 additions & 2 deletions server.js
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
16 changes: 16 additions & 0 deletions try.html
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,22 @@ <h3 id="miscellaneous"> Miscellaneous </h3>
<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>
Expand Down

0 comments on commit c53b8a2

Please sign in to comment.