X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=GitLogParser.js;h=8c13ff40051b4ab5ab82552d0d07a58b56aaf8ad;hp=807f98f66bbeeb1917114f8b557acfc2f54e3187;hb=refs%2Fheads%2Fwip_alan_T5782_messing_around_with_libgit2glib;hpb=2fcaf67eea1375e33101f715a98d3b7c7f265e81 diff --git a/GitLogParser.js b/GitLogParser.js index 807f98f6..8c13ff40 100644 --- a/GitLogParser.js +++ b/GitLogParser.js @@ -182,16 +182,46 @@ GitLogParser = { }, regexes : { - 'HPA' : [ /web.hpasite/, ], - 'MediaOut' : [ /app\.WorkerBee/, /web.MediaOut/, - /media-outreach/ , /Press Release Image Portal/, /Media Outreach Feed/ , /PressRelease/], + 'HPA' : [ /web.hpasite/, /Roo Application Builder - Site/, /HP Intranet/, /Hpasite/ ], + 'MediaOut' : [ /app\.WorkerBee/, /web\.MediaOut/, /workerbee/, + /media-outreach/ , /Press Release Image Portal/, /Media Outreach Feed/ , /PressRelease/, + /Clipping Portal/, /Media OutReach/, + /Auto Searching/ , // These are the excel files they send over.. + /sitemap\.xml/, + /Builder - Clipping/ + ], 'Habito' : [ /Interspire/ ], - 'Hebe' :[ /web.hhyc_membership_system/ ] - + 'Hebe' :[ /web.hhyc_membership_system/ ,/Builder - Hebe/, /Hebe Haven Membership Managment/], + 'RIS' : [ /Project web.Ris/ , /RIS HK/ , /Hydra/, /hydrajobs/ ], + // for who thoug... + 'Mailfort' : [ /web.FlexySpam/ ], + 'Emily' : [ /greengarden/ ,/Inventory \| Warehouse/, /Emily/ ], + 'GPUK' : [/gp-wordpress/, /Greenpeace UK/], + 'COBA' : [/Veridate/, /web\.coba/, /COBA/ ,/Pipeline - DS view/, /Coba/, /Pman.BAdmin/ , /SoapUI/ ], + 'Regulation Asia' : [/Regulation Asia/, /comocracy/], + 'Unknown Project' : [ /PAC/ , /Guake/ , /WhatsApp/ ,/Mozilla Thunderbird/], + 'Admin Work' : [ /roojs.com\/admin/, /RooJSolutions Management Portal/ ] + + + }, + + match_project : function(line) { + for(var proj in this.regexes) { + for(var r in this.regexes[proj]) { + if (line.match(this.regexes[proj][r])) { + //print("Match " + proj + " on " + r + ret.line + ) + return proj; + + } + } + + } + return "Unknown"; }, + '/usr/bin/perl' : function(ret) { if (ret.title.match(/^PAC/)) { ret.project = 'Unknown'; @@ -235,7 +265,8 @@ if (typeof(Seed.argv[2]) == 'undefined') { } var res = GitLogParser.parse( Seed.argv[2][0] == '/' ? Seed.argv[2] : xDate.Date.parseDate(Seed.argv[2], 'Y-m-d')); -var totals = { work : 0 , idle: 0, shortidle : 0} +var totals = { work : 0 , idle: 0, shortidle : 0}; +var unknown = []; for (var h in res) { for (var p in res[h]) { if (p == 'LONGIDLE') { @@ -258,15 +289,25 @@ for (var h in res) { //print(h + ' ' + Math.floor(res[h][p].total/60000) +'m ' + p ); totals.work += Math.floor(res[h][p].total/60000) ; - + if (h == -1) { - print( "\n" + p + ':'); + print( "\n" + p + ':' + Math.floor(res[h][p].total/60000) + 'm'); - for (var k in res[h][p].items) { - - print( ' ' + Math.floor(res[h][p].items[k]/60000) +'m ' + k ); + if (p != 'Unknown') { + + for (var k in res[h][p].items) { + print( ' ' + Math.floor(res[h][p].items[k]/60000) +'m ' + k ); + + } + } else { + + for (var k in res[h][p].items) { + unknown.push({ desc : k , tot : (res[h][p].items[k]/60000).toFixed(2)*1 }) ; + + + } } } @@ -293,18 +334,16 @@ for (var h in GitLogParser.shours) { hsum.sort(function(a,b) { if (a.tot == b.tot) { return 0; } return a.tot < b.tot ? 1 : -1 }); print("\n\n" + h+': Total (' + htot +')'); hsum.forEach(function(r) { - print (" " + r.tot + " : " + r.desc); + var pr = r.desc.match(/IDLE/) ? '' : (GitLogParser.match_project(r.desc) == "Unknown" ? '??? - ' : ''); + + print (" " + r.tot + " : " + pr + r.desc); }); } -print("\n\n" + h+': Totals (' + htot +')'); + -var hsum = []; -for (var desc in totals) { - hsum.push({ desc : desc, tot : totals[desc] }); -} -hsum.sort(function(a,b) { if (a.tot == b.tot) { return 0; } return a.tot < b.tot ? 1 : -1 }); -print("\n\nDay Total"); -hsum.forEach(function(r) { +unknown.sort(function(a,b) { if (a.tot == b.tot) { return 0; } return a.tot < b.tot ? 1 : -1 }); +print("\n\nUnclassified"); +unknown.forEach(function(r) { print (" " + (r.tot.toFixed(2)*1) + " : " + r.desc); });