Merge pull request #396 from zuzak/credit

Add automagic attribution
This commit is contained in:
reality 2013-04-20 22:08:27 -07:00
commit 27d1de25a1
5 changed files with 73 additions and 38 deletions

View File

@ -4,16 +4,26 @@ var exec = require('child_process').exec,
var pages = function(dbot) { var pages = function(dbot) {
var quoteCat = dbot.db.quoteArrs[dbot.config.name], var quoteCat = dbot.db.quoteArrs[dbot.config.name],
rev, diff, branch; rev, diff, branch, credit, authors = [];
exec("git log --format='%cN¬' | sort -u | tr -d '\n'", function (error, stdout, sderr) {
var credit = stdout.split("¬"); // nobody uses ¬, do they?
for (var i = 0; i < credit.length; i++) {
if ((credit[i].split(" ").length) == 2){
console.log(credit[i]);
authors.push(credit[i]);
}
}
});
exec("git rev-list --all | wc -l", function(error, stdout, stderr) { exec("git rev-list --all | wc -l", function(error, stdout, stderr) {
rev = stdout rev = stdout;
}); });
exec("git rev-parse --abbrev-ref HEAD", function(error, stdout, stderr) { exec("git rev-parse --abbrev-ref HEAD", function(error, stdout, stderr) {
branch = stdout branch = stdout
}); });
exec("git log -1", function(error, stdout, stderr) { exec("git log -1", function(error, stdout, stderr) {
diff = stdout diff = stdout
}); });
@ -33,7 +43,10 @@ var pages = function(dbot) {
} }
res.render('project', { res.render('project', {
"configList": dbot.modules.project.api.configList(), // what variable do I put here "configList": dbot.modules.project.api.configList(),
"authors": authors, //dbot.modules.project.api.getAuthors(),
"credits": dbot.t("credits"),
"thanks": dbot.t("thanks"),
"name": dbot.config.name, "name": dbot.config.name,
"intro": dbot.t("dbotintro", { "intro": dbot.t("dbotintro", {
"botname": dbot.config.name "botname": dbot.config.name

View File

@ -4,7 +4,8 @@
* the dbot. * the dbot.
*/ */
_ = require('underscore'); _ = require('underscore'),
exec = require('child_process').exec;
var project = function(dbot) { var project = function(dbot) {
@ -16,7 +17,7 @@ var project = function(dbot) {
"username": dbot.config.dent.username "username": dbot.config.dent.username
})); }));
} }
if(dbot.config.dent.dentQuotes) { if(_.has(dbot.config.dent.dentQuotes)) {
list.push(dbot.t("dent-push")); list.push(dbot.t("dent-push"));
} }
if(_.has(dbot.modules,'link')){ if(_.has(dbot.modules,'link')){
@ -40,8 +41,15 @@ var project = function(dbot) {
})); }));
} }
return list; return list;
},
'getAuthors': function(callback) {
var foo = ['a','b','c'];
exec("git rev-list --all | wc -l", function(error, stdout, stderr){
foo.push(stdout);
});
callback(foo);
} }
}; }
} }
exports.fetch = function(dbot){ exports.fetch = function(dbot){

View File

@ -9,6 +9,12 @@
"it": "{name} parla {lang} ({langen})", "it": "{name} parla {lang} ({langen})",
"nl": "{name} spreekt {lang} ({langen})" "nl": "{name} spreekt {lang} ({langen})"
}, },
"thanks": {
"en": "With thanks to:"
},
"credits": {
"en": "Authors"
},
"pagetitle": { "pagetitle": {
"en": "{botname} web interface", "en": "{botname} web interface",
"fr": "{botname} interface réseau", "fr": "{botname} interface réseau",

View File

@ -59,6 +59,7 @@ ul {
text-align:center; text-align:center;
margin-left:0; margin-left:0;
margin-bottom:5px; margin-bottom:5px;
font-size:80%;
} }
li { li {
background-image: linear-gradient(to bottom, #f5ebe2, #f5e6d8); background-image: linear-gradient(to bottom, #f5ebe2, #f5e6d8);

View File

@ -16,36 +16,43 @@ html(lang='#{curr839}')
p.intro p.intro
#{dquote} #{dquote}
section#development section#development
h3 #{development} h3 #{development}
h4 #{git} h4 #{git}
p.center p.center
#{revnum} #{revnum}
ul ul
li #{branch} li #{branch}
pre#gitdiff pre#gitdiff
#{diff} #{diff}
h4 #{milestonehead} h4 #{milestonehead}
table#milestones.center table#milestones.center
tr tr
th #{milestonename} th #{milestonename}
th #{milestoneprog} th #{milestoneprog}
th #{openmilestone} th #{openmilestone}
th #{closedmilestone} th #{closedmilestone}
each milestone in milestones each milestone in milestones
- var width = ((milestone.closed_issues/(milestone.open_issues + milestone.closed_issues))*100) - var width = ((milestone.closed_issues/(milestone.open_issues + milestone.closed_issues))*100)
tr(id="milestone"+milestone.number) tr(id="milestone"+milestone.number)
td td
a(href="https://github.com/"+repo+"/issues?milestone="+milestone.number) a(href="https://github.com/"+repo+"/issues?milestone="+milestone.number)
#{milestone.title} #{milestone.title}
td td
div.progress(class=milestone.state) div.progress(class=milestone.state)
div.progress-inner(style="width:"+width+"%")(class=milestone.state) div.progress-inner(style="width:"+width+"%")(class=milestone.state)
&nbsp; &nbsp;
print #{Math.round(width)+"%"} print #{Math.round(width)+"%"}
td #{milestone.open_issues} td #{milestone.open_issues}
td #{milestone.closed_issues} td #{milestone.closed_issues}
p.center p.center
a(href="https://github.com/"+repo) #{propaganda} a(href="https://github.com/"+repo) #{propaganda}
h4
#{credits}
p.center
#{thanks}
ul#credits
each author in authors
li #{author}
section#config section#config
h3 #{config} h3 #{config}
ul ul