3
0
mirror of https://github.com/reality/dbot.git synced 2024-11-23 20:39:25 +01:00
dbot/modules/project/pages.js
2013-04-18 16:54:09 +00:00

70 lines
2.6 KiB
JavaScript

var exec = require('child_process').exec,
request = require('request');
var pages = function(dbot) {
var depression = dbot.db.quoteArrs[dbot.config.project.quotecat];
var rev;
exec("git rev-list --all | wc -l", function(a,b,c){rev = b});
var diff;
exec("git log -1", function(a, b, c){diff = b});
/* TODO: merge back into github module */
var milestones;
request("https://api.github.com/repos/" + dbot.config.github.defaultrepo + "/milestones", function(e, r, b){
milestones = JSON.parse(b);
request("https://api.github.com/repos/" + dbot.config.github.defaultrepo + "/milestones?state=closed", function (a, c, d){
var milestones2 = [];
try{
milestones2 = JSON.parse(c);
} catch(e){}
milestones = milestones.concat(milestones2)
});
});
return {
'/project': function(req, res) {
res.render('project', {
"name": dbot.config.name,
"intro": dbot.t("dbotintro", {
"botname": dbot.config.name
}),
"curr839": dbot.config.language,
"currver": dbot.config.version,
"currlang": dbot.t("dbotspeaks",{
"lang839": dbot.config.language,
"langen": dbot.strings[dbot.config.language]["en"],
"lang": dbot.t(dbot.config.language),
"name": dbot.config.name
}),
"projectstatus": dbot.t("projectstatus"),
"revnum": dbot.t("revnum",{
"name": dbot.config.name,
"rev": rev,
"ver": "abcdef" // TODO, obviously
}),
"modules": dbot.config.moduleNames,
"loadmod": dbot.t("loadedmodules"),
"debugmode": dbot.t("debugmode-" + dbot.config.debugMode),
"milestones": milestones,
"milestoneprog": dbot.t("milestoneprog"),
"config": dbot.t("configoptions"),
"milestonename": dbot.t("milestonename"),
"openmilestone": dbot.t("openmilestone"),
"closedmilestone": dbot.t("closedmilestone"),
"development": dbot.t("development"),
"dquote": depression[Math.floor(Math.random()*depression.length)],
"diff": diff,
"pagetitle": dbot.t("pagetitle", {
"botname": dbot.config.name
})
});
},
};
};
exports.fetch = function(dbot) {
return pages(dbot);
};