diff options
author | Ben Hutchings <benh@debian.org> | 2016-02-12 21:05:33 +0000 |
---|---|---|
committer | Ben Hutchings <benh@debian.org> | 2016-02-12 21:05:33 +0000 |
commit | 70407d883126580b429ef86316250363c4794fef (patch) | |
tree | 5d7beddce2a2c71d42dcf173e21185fe62ce17b6 /scripts | |
parent | 2b09c824d8c41a97e871323bcc7d77cf3aa1ebca (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-x | scripts/filter-active.py | 28 |
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 ] |