diff options
author | Steven Knight <knight@baldmt.com> | 2010-04-20 13:28:27 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2010-04-20 13:28:27 (GMT) |
commit | 58a7d5c595a74e266d63fd5e621329ba24d4e75e (patch) | |
tree | affcfa958c8ab0386d9e88dec578af66413f646a /src/test_strings.py | |
parent | 8a3e19c85c853ad7ee45b45e4afb63a617946145 (diff) | |
download | SCons-58a7d5c595a74e266d63fd5e621329ba24d4e75e.zip SCons-58a7d5c595a74e266d63fd5e621329ba24d4e75e.tar.gz SCons-58a7d5c595a74e266d63fd5e621329ba24d4e75e.tar.bz2 |
Fix the updated code that uses os.walk() to remove matched directories.
Also remove any .svn directories we find.
Diffstat (limited to 'src/test_strings.py')
-rw-r--r-- | src/test_strings.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/test_strings.py b/src/test_strings.py index 16b0b9a..c6b1179 100644 --- a/src/test_strings.py +++ b/src/test_strings.py @@ -88,15 +88,19 @@ class Checker: def find_missing(self): result = [] for dirpath, dirnames, filenames in os.walk(self.directory): + if '.svn' in dirnames: + dirnames.remove('.svn') + for dname in dirnames[:]: + dpath = os.path.join(dirpath, dname) + if self.remove_this(dname, dpath): + dirnames.remove(dname) for fname in filenames: fpath = os.path.join(dirpath, fname) - if self.remove_this(fname, fpath): - result.remove(fname) - elif self.search_this(fpath): - body = open(path, 'r').read() + if self.search_this(fpath) and not self.remove_this(fname, fpath): + body = open(fpath, 'r').read() for expr in self.expressions: if not expr.search(body): - msg = '%s: missing %s' % (path, repr(expr.pattern)) + msg = '%s: missing %s' % (fpath, repr(expr.pattern)) result.append(msg) return result |