summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorBen Hutchings <benh@debian.org>2016-02-12 21:05:33 +0000
committerBen Hutchings <benh@debian.org>2016-02-12 21:05:33 +0000
commit70407d883126580b429ef86316250363c4794fef (patch)
tree5d7beddce2a2c71d42dcf173e21185fe62ce17b6 /scripts
parent2b09c824d8c41a97e871323bcc7d77cf3aa1ebca (diff)
filter-active: Fix filtering of issue files
Removing items from a list while iterating over it results in items being skipped in the iteration, so it is possible that we will keep file names that should have been filtered out. git-svn-id: svn+ssh://svn.debian.org/svn/kernel-sec@4152 e094ebfe-e918-0410-adfb-c712417f3574
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/filter-active.py28
1 files changed, 12 insertions, 16 deletions
diff --git a/scripts/filter-active.py b/scripts/filter-active.py
index 1d2470e9..7b8cde42 100755
--- a/scripts/filter-active.py
+++ b/scripts/filter-active.py
@@ -38,25 +38,21 @@ class issue(deb822.Deb822):
releases.append(field)
return releases
-def filter_issue_names(L):
- ignorePatterns = [re.compile('.*~$'),
- re.compile('^#.*'),
- re.compile('^00.*')]
- for issue in L:
- for p in ignorePatterns:
- if p.match(issue):
- L.remove(issue)
- break
- return L
+ignorePatterns = [re.compile('.*~$'),
+ re.compile('^#.*'),
+ re.compile('^00.*')]
+
+def ignore_issue_name(issue):
+ for p in ignorePatterns:
+ if p.match(issue):
+ return True
+ return False
def get_issues(dir):
issues = []
- L = os.listdir(dir)
- for f in L:
- if os.path.isdir(os.path.join(dir, f)):
- L.remove(f)
-
- L = filter_issue_names(L)
+ L = [f for f in os.listdir(dir)
+ if not os.path.isdir(os.path.join(dir, f))
+ and not ignore_issue_name(f)]
L.sort()
return [ issue(os.path.join(dir, f)) for f in L ]

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