[kernel-sec-discuss] r4152 - scripts

Ben Hutchings benh at moszumanska.debian.org
Fri Feb 12 21:05:33 UTC 2016


Author: benh
Date: 2016-02-12 21:05:33 +0000 (Fri, 12 Feb 2016)
New Revision: 4152

Modified:
   scripts/filter-active.py
Log:
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.


Modified: scripts/filter-active.py
===================================================================
--- scripts/filter-active.py	2016-02-12 20:58:12 UTC (rev 4151)
+++ scripts/filter-active.py	2016-02-12 21:05:33 UTC (rev 4152)
@@ -38,25 +38,21 @@
                 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 ]




More information about the kernel-sec-discuss mailing list