summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2018-06-25 21:04:31 +0100
committerBen Hutchings <ben@decadent.org.uk>2018-06-25 21:14:47 +0100
commit9f9d952e2751835197dc34673792be4ee4bc3f3c (patch)
tree446ee0002926991baec66edc59f19158ec7d5951 /scripts
parentdbcf910e9b5ffdd6bd33348ac50a47f9cdf6687f (diff)
filter-active.py: Use sets of releases for filtering instead of lists
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/filter-active.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/scripts/filter-active.py b/scripts/filter-active.py
index 0fb274fc..c4215b48 100755
--- a/scripts/filter-active.py
+++ b/scripts/filter-active.py
@@ -32,10 +32,10 @@ class issue(deb822.Deb822):
return True
def get_releases(self):
- releases = []
+ releases = set()
for field in self.d.keys():
if self.fieldIsRelease(field):
- releases.append(field)
+ releases.add(field)
return releases
ignorePatterns = [re.compile('.*~$'),
@@ -108,7 +108,7 @@ if __name__ == '__main__':
if not options.states and not options.notstates:
print('I: Excluding N/A, ignored and released issues')
options.notstates = ['N/A', 'ignored', 'released']
- inc_releases = options.release
+ inc_releases = options.release and set(options.release)
if options.color is None:
options.color = sys.stdout.isatty()
if options.color:
@@ -135,26 +135,28 @@ if __name__ == '__main__':
issues = filter_out_states(issues, inc_releases,
options.states, options.notstates)
- if not options.release:
+ if options.release:
+ list_releases = options.release
+ else:
all_releases = set()
for i in issues:
- all_releases |= set(i.get_releases())
- inc_releases = sorted(list(all_releases))
+ all_releases |= i.get_releases()
+ list_releases = sorted(list(all_releases))
- if len(inc_releases) == 1:
+ if len(list_releases) == 1:
min_width = 0
max_width = 1000
else:
min_width = 20
max_width = 20
sys.stdout.write(" ")
- for release in inc_releases:
+ for release in list_releases:
sys.stdout.write(" %-20.20s " % release)
sys.stdout.write("\n")
for i in issues:
sys.stdout.write("%17s:" % i.name)
- for release in inc_releases:
+ for release in list_releases:
status = i.status(release) or "unknown"
status_short = status.split(' ')[0]
if options.color and status_color.has_key(status_short):

© 2014-2024 Faster IT GmbH | imprint | privacy policy