summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2018-06-25 21:12:08 +0100
committerBen Hutchings <ben@decadent.org.uk>2018-06-25 21:16:24 +0100
commit7284106363dfa053a5cbf0991790e9367c60e237 (patch)
tree0b88e01ffc1c16787c7286dc3720140c64450cc4 /scripts
parent9f9d952e2751835197dc34673792be4ee4bc3f3c (diff)
filter-active.py: Exclude EOL releases by default
The EOL release names are loaded from the new file "eol_releases".
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/filter-active.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/scripts/filter-active.py b/scripts/filter-active.py
index c4215b48..885ae7b2 100755
--- a/scripts/filter-active.py
+++ b/scripts/filter-active.py
@@ -76,10 +76,10 @@ def parse_status(s):
else:
return m
-def filter_out_states(issues, releases, states, notstates):
+def filter_out_states(issues, inc_releases, exc_releases, states, notstates):
filteredissues = []
for i in issues:
- for release in releases or i.get_releases():
+ for release in (inc_releases or i.get_releases()) - exc_releases:
# Current state must be within 'states' (if specified), and
# must not be within 'notstates' (if specified).
m = parse_status(i.status(release))
@@ -108,7 +108,16 @@ 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 and set(options.release)
+ if options.release:
+ inc_releases = set(options.release)
+ exc_releases = set()
+ else:
+ print('I: Excluding EOL releases')
+ inc_releases = None
+ with file('eol_releases') as eol_file:
+ exc_releases = set(line.strip()
+ for line in eol_file
+ if not line.startswith('#'))
if options.color is None:
options.color = sys.stdout.isatty()
if options.color:
@@ -132,7 +141,7 @@ if __name__ == '__main__':
issues = issues + get_issues(d)
if options.states or options.notstates:
- issues = filter_out_states(issues, inc_releases,
+ issues = filter_out_states(issues, inc_releases, exc_releases,
options.states, options.notstates)
if options.release:
@@ -141,7 +150,7 @@ if __name__ == '__main__':
all_releases = set()
for i in issues:
all_releases |= i.get_releases()
- list_releases = sorted(list(all_releases))
+ list_releases = sorted(list(all_releases - exc_releases))
if len(list_releases) == 1:
min_width = 0

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