Mercurial > treepkg
comparison bin/reportstatus.py @ 147:cfeb0251055b
Add reportstatus.py flag --sort-on= to let the user choose the sort field.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Thu, 05 Jun 2008 11:06:58 +0000 |
parents | 123e9a5f31fa |
children | 15de52d55432 |
comparison
equal
deleted
inserted
replaced
146:1766e2ee9457 | 147:cfeb0251055b |
---|---|
15 import treepkgcmd | 15 import treepkgcmd |
16 from treepkg.options import create_parser | 16 from treepkg.options import create_parser |
17 from treepkg.report import get_packager_group, prepare_report | 17 from treepkg.report import get_packager_group, prepare_report |
18 | 18 |
19 def parse_commandline(): | 19 def parse_commandline(): |
20 return create_parser().parse_args() | 20 parser = create_parser() |
21 parser.set_defaults(sort_on="start-date") | |
22 parser.add_option("--sort-on", | |
23 help=("Field to sort on;" | |
24 " either start-date (the default) or revision")) | |
25 return parser.parse_args() | |
21 | 26 |
22 | 27 |
23 def report_text(group): | 28 def report_text(group, sort_on): |
24 report = prepare_report(group) | 29 report = prepare_report(group) |
25 for revno, row in report.revisions.sorted_by_revision(): | 30 if sort_on == "revision": |
26 for col in row: | 31 sorted = (col for revno, row in report.revisions.sorted_by_revision() |
27 if col: | 32 for col in row |
28 print "%s %s: %s" % (col.name, revno, col.status.desc) | 33 if col) |
29 if col.status.start: | 34 elif sort_on == "start-date": |
30 print " Start:", col.status.start | 35 sorted = (row for start, row in report.revisions.sorted_by_startdate()) |
31 print " Stop:", col.status.stop | 36 else: |
32 print | 37 raise ValueError("Unknown sort field %r" % sort_on) |
38 | |
39 for item in sorted: | |
40 print "%s %s: %s" % (item.name, item.revno, item.status.desc) | |
41 print " Start:", item.status.start | |
42 print " Stop:", item.status.stop | |
43 print | |
33 | 44 |
34 def main(): | 45 def main(): |
35 options, args = parse_commandline() | 46 options, args = parse_commandline() |
36 group = get_packager_group(options.config_file) | 47 group = get_packager_group(options.config_file) |
37 report_text(group) | 48 report_text(group, options.sort_on) |
38 | 49 |
39 | 50 |
40 main() | 51 main() |