Author: julianfoad Date: Mon Jun 6 14:23:36 2011 New Revision: 1132657 URL: http://svn.apache.org/viewvc?rev=1132657&view=rev Log: Add textual bar graphs to the translation status report.
* tools/po/l10n-report.py (bar_graph): New function. (main): Append a bar graph to each row of statistics. Modified: subversion/trunk/tools/po/l10n-report.py Modified: subversion/trunk/tools/po/l10n-report.py URL: http://svn.apache.org/viewvc/subversion/trunk/tools/po/l10n-report.py?rev=1132657&r1=1132656&r2=1132657&view=diff ============================================================================== --- subversion/trunk/tools/po/l10n-report.py (original) +++ subversion/trunk/tools/po/l10n-report.py Mon Jun 6 14:23:36 2011 @@ -133,6 +133,25 @@ class l10nReport: self.safe_command(cmd) +def bar_graph(nominal_length, trans, untrans, fuzzy, obsolete): + """Format the given four counts into a bar graph string in which the + total length of the bars representing the TRANS, UNTRANS and FUZZY + counts is NOMINAL_LENGTH characters, and the bar representing the + OBSOLETE count extends beyond that.""" + + total_count = trans + untrans + fuzzy # don't include 'obsolete' + accum_bar = 0 + accum_count = 0 + s = '' + for count, letter in [(trans, '+'), (untrans, 'U'), (fuzzy, '~'), + (obsolete, 'o')]: + accum_count += count + new_bar_end = nominal_length * accum_count / total_count + s += letter * (new_bar_end - accum_bar) + accum_bar = new_bar_end + return s + + def main(): # Parse the command-line options and arguments. try: @@ -187,6 +206,7 @@ def main(): [trans, untrans, fuzzy, obsolete] = l10n.get_msgattribs(file) po_format = "%6s %7d %7d %7d %7d" %\ (lang, trans, untrans, fuzzy, obsolete) + po_format += " " + bar_graph(30, trans, untrans, fuzzy, obsolete) body += "%s\n" % po_format print(po_format)