Skip to content

Commit

Permalink
Add support for CRAN/METACRAN (#837)
Browse files Browse the repository at this point in the history
  • Loading branch information
wamserma authored and paulmelnikow committed Apr 5, 2017
1 parent 5a1e532 commit 3febfe2
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
49 changes: 49 additions & 0 deletions server.js
Expand Up @@ -4812,6 +4812,55 @@ cache(function(data, match, sendBadge, request) {
});
}));

// CRAN/METACRAN integration.
camp.route(/^\/cran\/([vl])\/([^\/]+)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {
var info = match[1]; // either `v` or `l`
var pkg = match[2]; // eg, devtools
var format = match[3];
var url = 'http://crandb.r-pkg.org/' + pkg;
var badgeData = getBadgeData('cran', data);
request(url, function (err, res, buffer) {
if (err != null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
if (res.statusCode === 404) {
badgeData.text[1] = 'not found';
sendBadge(format, badgeData);
return;
}
try {
var data = JSON.parse(buffer);

if (info === 'v') {
var version = data.Version;
var vdata = versionColor(version);
badgeData.text[1] = vdata.version;
badgeData.colorscheme = vdata.color;
sendBadge(format, badgeData);
} else if (info === 'l') {
badgeData.text[0] = 'license';
var license = data.License;
if (license) {
badgeData.text[1] = license;
badgeData.colorscheme = 'blue';
} else {
badgeData.text[1] = 'unknown';
}
sendBadge(format, badgeData);
} else {
throw Error('Unreachable due to regex');
}
} catch (e) {
badgeData.text[1] = 'invalid';
sendBadge(format, badgeData);
}
});
}));


// CTAN integration.
camp.route(/^\/ctan\/([^\/])\/([^\/]+)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {
Expand Down
8 changes: 8 additions & 0 deletions try.html
Expand Up @@ -551,6 +551,14 @@ <h3 id="version"> Version </h3>
<td><img src='/cpan/v/Config-Augeas.svg' alt=''/></td>
<td><code>https://img.shields.io/cpan/v/Config-Augeas.svg</code></td>
</tr>
<tr><th data-keywords='R'> CRAN: </th>
<td><img src='/cran/v/devtools.svg' alt=''/></td>
<td><code>https://img.shields.io/cran/v/devtools.svg</code></td>
</tr>
<tr><th data-keywords='R'> CRAN: </th>
<td><img src='/cran/l/devtools.svg' alt=''/></td>
<td><code>https://img.shields.io/cran/l/devtools.svg</code></td>
</tr>
<tr><th data-keywords='tex'> CTAN: </th>
<td><img src='/ctan/v/tex.svg' alt=''/></td>
<td><code>https://img.shields.io/ctan/v/tex.svg</code></td>
Expand Down

0 comments on commit 3febfe2

Please sign in to comment.