[Treepkg-commits] r72 - trunk/bin
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Jun 5 13:06:58 CEST 2008
Author: bh
Date: 2008-06-05 13:06:58 +0200 (Thu, 05 Jun 2008)
New Revision: 72
Modified:
trunk/bin/reportstatus.py
Log:
Add reportstatus.py flag --sort-on= to let the user choose the sort field.
Modified: trunk/bin/reportstatus.py
===================================================================
--- trunk/bin/reportstatus.py 2008-06-05 11:05:55 UTC (rev 71)
+++ trunk/bin/reportstatus.py 2008-06-05 11:06:58 UTC (rev 72)
@@ -17,24 +17,35 @@
from treepkg.report import get_packager_group, prepare_report
def parse_commandline():
- return create_parser().parse_args()
+ parser = create_parser()
+ parser.set_defaults(sort_on="start-date")
+ parser.add_option("--sort-on",
+ help=("Field to sort on;"
+ " either start-date (the default) or revision"))
+ return parser.parse_args()
-def report_text(group):
+def report_text(group, sort_on):
report = prepare_report(group)
- for revno, row in report.revisions.sorted_by_revision():
- for col in row:
- if col:
- print "%s %s: %s" % (col.name, revno, col.status.desc)
- if col.status.start:
- print " Start:", col.status.start
- print " Stop:", col.status.stop
- print
+ if sort_on == "revision":
+ sorted = (col for revno, row in report.revisions.sorted_by_revision()
+ for col in row
+ if col)
+ elif sort_on == "start-date":
+ sorted = (row for start, row in report.revisions.sorted_by_startdate())
+ else:
+ raise ValueError("Unknown sort field %r" % sort_on)
+ for item in sorted:
+ print "%s %s: %s" % (item.name, item.revno, item.status.desc)
+ print " Start:", item.status.start
+ print " Stop:", item.status.stop
+ print
+
def main():
options, args = parse_commandline()
group = get_packager_group(options.config_file)
- report_text(group)
+ report_text(group, options.sort_on)
main()
More information about the Treepkg-commits
mailing list