From d8e1f296e09742ffdf92ada13d50930f457ec8d2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Sat, 3 Oct 2015 17:00:22 -0700 Subject: [PATCH] scanner: don't error on partially used globs This meant that using something like `scanignore=*` would error if there were ignores happening in some directories/files, but not all. Fixes #110 --- fdroidserver/scanner.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fdroidserver/scanner.py b/fdroidserver/scanner.py index f71120e3..cc42adce 100644 --- a/fdroidserver/scanner.py +++ b/fdroidserver/scanner.py @@ -72,24 +72,26 @@ def scan_source(build_dir, root_dir, thisbuild): if r.match(s): yield n - scanignore = common.getpaths(build_dir, thisbuild['scanignore']) - scandelete = common.getpaths(build_dir, thisbuild['scandelete']) + scanignore = common.getpaths_map(build_dir, thisbuild['scanignore']) + scandelete = common.getpaths_map(build_dir, thisbuild['scandelete']) scanignore_worked = set() scandelete_worked = set() def toignore(fd): - for p in scanignore: - if fd.startswith(p): - scanignore_worked.add(p) - return True + for k, paths in scanignore.iteritems(): + for p in paths: + if fd.startswith(p): + scanignore_worked.add(k) + return True return False def todelete(fd): - for p in scandelete: - if fd.startswith(p): - scandelete_worked.add(p) - return True + for k, paths in scandelete.iteritems(): + for p in paths: + if fd.startswith(p): + scandelete_worked.add(k) + return True return False def ignoreproblem(what, fd, fp): -- 2.30.2