[kernel-sec-discuss] r4154 - scripts
Ben Hutchings
benh at moszumanska.debian.org
Fri Feb 12 21:29:19 UTC 2016
Author: benh
Date: 2016-02-12 21:29:19 +0000 (Fri, 12 Feb 2016)
New Revision: 4154
Modified:
scripts/filter-active.py
Log:
filter-active: Show all releases by default, using columnar format
Add support for showing multiple releases, with status truncated to 20
characters. Show the release names as column headings. When filtering
by state, include all issues where any release has a state that should
be included.
Make the -r option truly optional, and default to showing all releases
found in any issue.
Modified: scripts/filter-active.py
===================================================================
--- scripts/filter-active.py 2016-02-12 21:09:14 UTC (rev 4153)
+++ scripts/filter-active.py 2016-02-12 21:29:19 UTC (rev 4154)
@@ -72,24 +72,26 @@
else:
return m
-def filter_out_states(issues, release, states):
+def filter_out_states(issues, releases, states):
filteredissues = []
for i in issues:
- m = parse_status(i.status(release))
- drop = False
- for s in states:
- if s == m.group('state'):
- drop = True
+ for release in releases or i.get_releases():
+ m = parse_status(i.status(release))
+ drop = False
+ for s in states:
+ if s == m.group('state'):
+ drop = True
+ break
+ if drop == False:
+ filteredissues.append(i)
break
- if drop == False:
- filteredissues.append(i)
return filteredissues
if __name__ == '__main__':
parser = OptionParser()
parser.add_option("-d", "--dirs", action="append")
- parser.add_option("-r", "--release", dest="release")
+ parser.add_option("-r", "--release", action="append")
parser.add_option("-s", "--states", action="append")
parser.add_option("-n", "--notstates", action="append")
@@ -108,6 +110,26 @@
if options.notstates:
issues = filter_out_states(issues, options.release, options.notstates)
+ if not options.release:
+ all_releases = set()
+ for i in issues:
+ all_releases |= set(i.get_releases())
+ options.release = sorted(list(all_releases))
+
+ if len(options.release) == 1:
+ min_width = 0
+ max_width = 1000
+ else:
+ min_width = 20
+ max_width = 20
+ sys.stdout.write(" ")
+ for release in options.release:
+ sys.stdout.write(" %-20.20s " % release)
+ sys.stdout.write("\n")
+
for i in issues:
- sys.stdout.write(" %s: %s\n" % (i.name,
- i.status(options.release) or "unknown"))
+ sys.stdout.write(" %s:" % i.name)
+ for release in options.release:
+ sys.stdout.write(" %-*.*s " %
+ (min_width, max_width, i.status(release) or "unknown"))
+ sys.stdout.write("\n")
More information about the kernel-sec-discuss
mailing list