Skip to content

Instantly share code, notes, and snippets.

@IgorFrolov
Created March 26, 2019 11:02
Show Gist options
  • Save IgorFrolov/4499ec7001a01d4df51097e3b950b891 to your computer and use it in GitHub Desktop.
Save IgorFrolov/4499ec7001a01d4df51097e3b950b891 to your computer and use it in GitHub Desktop.
codetree-report
const bigreport = true;
var _ = require("lodash");
const json = require('./source.json');
const source = _.groupBy(json, function (el) {
return el.repository
});
function getBlock(repoobj) {
const block = {
text: [],
time: {
all: 0,
closed: 0
}
};
const s = repoobj[0];
const title = s.repository.split("galtspace/").pop();
block.title = "## " + title + " - " + repoobj[0]['creator'] + "";
_.each(repoobj, function (element) {
block.time.all += parseInt(element.size);
if (element.state == 'closed') {
block.time.closed += parseInt(element.size);
}
block.text.push(" - **" + "[" + element.state + "](https://github.com/" + element.repository + "/issues/" + element.number + ")" + "** " + element.title + ", - " + parseInt(element.size) + " min")
});
console.log(block.title + ", " + (block.time.all / 60) + ' hours (Done: ' + Math.floor((block.time.closed / block.time.all * 100)) + '%) \n');
console.log(block.text.join('\n'));
}
const reposits = Object.keys(source);
if(bigreport){
getBlock(json);
}else{
_.each(reposits, function (reponame) {
getBlock(source[reponame]);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment