From 98e3f45d6538e3ff7f43be11b0ba1b93f0fa3311 Mon Sep 17 00:00:00 2001 From: Adam Waldenberg <adam.waldenberg@ejwa.se> Date: Sun, 26 Jan 2014 02:49:31 +0100 Subject: [PATCH] Added stability value to the blame output. --- gitinspector/blame.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gitinspector/blame.py b/gitinspector/blame.py index 4beb1cb..ae4391c 100644 --- a/gitinspector/blame.py +++ b/gitinspector/blame.py @@ -174,8 +174,8 @@ class BlameOutput(Outputable): def output_html(self): blame_xml = "<div><div class=\"box\">" blame_xml += "<p>" + _(BLAME_INFO_TEXT) + ".</p><div><table id=\"blame\" class=\"git\">" - blame_xml += "<thead><tr> <th>{0}</th> <th>{1}</th> <th>{2}</th> </tr></thead>".format(_("Author"), - _("Rows"), _("% in comments")) + blame_xml += "<thead><tr> <th>{0}</th> <th>{1}</th> <th>{2}</th> <th>{3}</th> </tr></thead>".format(_("Author"), + _("Rows"), _("Stability"), _("% in comments")) blame_xml += "<tbody>" chart_data = "" blames = sorted(__blame__.get_summed_blames().items()) @@ -195,6 +195,8 @@ class BlameOutput(Outputable): blame_xml += "<td>" + entry[0] + "</td>" blame_xml += "<td>" + str(entry[1].rows) + "</td>" + blame_xml += "<td>" + ("{0:.1f}".format(100.0 * entry[1].rows / + self.changes.get_authorinfo_list()[entry[0]].insertions) + "</td>") blame_xml += "<td>" + "{0:.2f}".format(100.0 * entry[1].comments / entry[1].rows) + "</td>" blame_xml += "<td style=\"display: none\">" + work_percentage + "</td>" blame_xml += "</tr>" @@ -203,7 +205,7 @@ class BlameOutput(Outputable): if blames[-1] != entry: chart_data += ", " - blame_xml += "<tfoot><tr> <td colspan=\"3\"> </td> </tr></tfoot></tbody></table>" + blame_xml += "<tfoot><tr> <td colspan=\"4\"> </td> </tr></tfoot></tbody></table>" blame_xml += "<div class=\"chart\" id=\"blame_chart\"></div></div>" blame_xml += "<script type=\"text/javascript\">" blame_xml += " $.plot($(\"#blame_chart\"), [{0}], {{".format(chart_data) @@ -229,11 +231,12 @@ class BlameOutput(Outputable): terminal.clear_row() print(textwrap.fill(_(BLAME_INFO_TEXT) + ":", width=terminal.get_size()[0]) + "\n") - terminal.printb(_("Author").ljust(21) + _("Rows").rjust(10) + _("% in comments").rjust(20)) + terminal.printb(_("Author").ljust(21) + _("Rows").rjust(10) + _("Stability").rjust(15) + _("% in comments").rjust(20)) for i in sorted(__blame__.get_summed_blames().items()): print(i[0].ljust(20)[0:20], end=" ") print(str(i[1].rows).rjust(10), end=" ") + print("{0:.1f}".format(100.0 * i[1].rows / self.changes.get_authorinfo_list()[i[0]].insertions).rjust(14), end=" ") print("{0:.2f}".format(100.0 * i[1].comments / i[1].rows).rjust(19)) def output_xml(self): @@ -246,8 +249,11 @@ class BlameOutput(Outputable): name_xml = "\t\t\t\t<name>" + i[0] + "</name>\n" gravatar_xml = "\t\t\t\t<gravatar>" + gravatar.get_url(author_email) + "</gravatar>\n" rows_xml = "\t\t\t\t<rows>" + str(i[1].rows) + "</rows>\n" + stability_xml = ("\t\t\t\t<stability>" + "{0:.1f}".format(100.0 * i[1].rows / + self.changes.get_authorinfo_list()[i[0]].insertions) + "</stability>\n") percentage_in_comments_xml = ("\t\t\t\t<percentage-in-comments>" + "{0:.2f}".format(100.0 * i[1].comments / i[1].rows) + "</percentage-in-comments>\n") - blame_xml += "\t\t\t<author>\n" + name_xml + gravatar_xml + rows_xml + percentage_in_comments_xml + "\t\t\t</author>\n" + blame_xml += ("\t\t\t<author>\n" + name_xml + gravatar_xml + rows_xml + stability_xml + + percentage_in_comments_xml + "\t\t\t</author>\n") print("\t<blame>\n" + message_xml + "\t\t<authors>\n" + blame_xml + "\t\t</authors>\n\t</blame>")