Add NuGet download count
This commit is contained in:
parent
77a90bfd77
commit
4bc454198f
64
server.js
64
server.js
|
@ -178,6 +178,20 @@ function coveragePercentageColor(percentage) {
|
|||
}
|
||||
}
|
||||
|
||||
function downloadCountColor(downloads) {
|
||||
if (downloads === 0) {
|
||||
return 'red';
|
||||
} else if (downloads < 10) {
|
||||
return 'yellow';
|
||||
} else if (downloads < 100) {
|
||||
return 'yellowgreen';
|
||||
} else if (downloads < 1000) {
|
||||
return 'green';
|
||||
} else {
|
||||
return 'brightgreen';
|
||||
}
|
||||
}
|
||||
|
||||
// Vendors.
|
||||
|
||||
// Travis integration
|
||||
|
@ -286,17 +300,7 @@ cache(function(data, match, sendBadge) {
|
|||
badgeData.text[1] = metric(downloads) + ' total';
|
||||
break;
|
||||
}
|
||||
if (downloads === 0) {
|
||||
badgeData.colorscheme = 'red';
|
||||
} else if (downloads < 10) {
|
||||
badgeData.colorscheme = 'yellow';
|
||||
} else if (downloads < 100) {
|
||||
badgeData.colorscheme = 'yellowgreen';
|
||||
} else if (downloads < 1000) {
|
||||
badgeData.colorscheme = 'green';
|
||||
} else {
|
||||
badgeData.colorscheme = 'brightgreen';
|
||||
}
|
||||
badgeData.colorscheme = downloadCountColor(downloads);
|
||||
sendBadge(format, badgeData);
|
||||
} catch(e) {
|
||||
badgeData.text[1] = 'invalid';
|
||||
|
@ -522,17 +526,7 @@ cache(function(data, match, sendBadge) {
|
|||
badgeData.text[1] = metric(downloads) + '/day';
|
||||
break;
|
||||
}
|
||||
if (downloads === 0) {
|
||||
badgeData.colorscheme = 'red';
|
||||
} else if (downloads < 10) {
|
||||
badgeData.colorscheme = 'yellow';
|
||||
} else if (downloads < 100) {
|
||||
badgeData.colorscheme = 'yellowgreen';
|
||||
} else if (downloads < 1000) {
|
||||
badgeData.colorscheme = 'green';
|
||||
} else {
|
||||
badgeData.colorscheme = 'brightgreen';
|
||||
}
|
||||
badgeData.colorscheme = downloadCountColor(downloads);
|
||||
sendBadge(format, badgeData);
|
||||
} else if (info === 'v') {
|
||||
var version = data.info.version;
|
||||
|
@ -930,6 +924,32 @@ cache(function(data, match, sendBadge) {
|
|||
});
|
||||
}));
|
||||
|
||||
// NuGet download count integration.
|
||||
camp.route(/^\/nuget\/dt\/(.*)\.(svg|png|gif|jpg)$/,
|
||||
cache(function(data, match, sendBadge) {
|
||||
var repo = match[1]; // eg, `Nuget.Core`.
|
||||
var format = match[2];
|
||||
var filter = 'Id eq \'' + repo + '\' and IsLatestVersion eq true';
|
||||
var apiUrl = 'https://www.nuget.org/api/v2/Packages()?$filter=' + encodeURIComponent(filter);
|
||||
var badgeData = getBadgeData('downloads', data);
|
||||
request(apiUrl, { headers: { 'Accept': 'application/atom+json,application/json' } }, function(err, res, buffer) {
|
||||
if (err != null) {
|
||||
badgeData.text[1] = 'inaccessible';
|
||||
sendBadge(format, badgeData);
|
||||
}
|
||||
try {
|
||||
var data = JSON.parse(buffer);
|
||||
var downloads = data.d.results[0].DownloadCount;
|
||||
badgeData.text[1] = metric(downloads) + ' total';
|
||||
badgeData.colorscheme = downloadCountColor(downloads);
|
||||
sendBadge(format, badgeData);
|
||||
} catch(e) {
|
||||
badgeData.text[1] = 'invalid';
|
||||
sendBadge(format, badgeData);
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
// TeamCity CodeBetter code coverage
|
||||
camp.route(/^\/teamcity\/codebetter\/(.*)\/coverage\.(svg|png|gif|jpg)$/,
|
||||
cache(function(data, match, sendBadge) {
|
||||
|
|
4
try.html
4
try.html
|
@ -145,6 +145,10 @@ I made the GitHub Badge Service.
|
|||
<td><img src='/npm/dm/localeval.svg' alt=''/></td>
|
||||
<td><code>http://img.shields.io/npm/dm/localeval.svg</code></td>
|
||||
</tr>
|
||||
<tr><th> NuGet: </th>
|
||||
<td><img src='/nuget/dt/Microsoft.AspNet.Mvc.svg' alt=''/></td>
|
||||
<td><code>http://img.shields.io/nuget/dt/Microsoft.AspNet.Mvc.svg</code></td>
|
||||
</tr>
|
||||
<tr><th> PyPI: </th>
|
||||
<td><img src='/pypi/dm/Django.svg' alt=''/></td>
|
||||
<td><code>http://img.shields.io/pypi/dm/Django.svg</code></td>
|
||||
|
|
Loading…
Reference in New Issue
Block a user