summaryrefslogtreecommitdiffstats
path: root/src/test_strings.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-04-20 13:28:27 (GMT)
committerSteven Knight <knight@baldmt.com>2010-04-20 13:28:27 (GMT)
commit58a7d5c595a74e266d63fd5e621329ba24d4e75e (patch)
treeaffcfa958c8ab0386d9e88dec578af66413f646a /src/test_strings.py
parent8a3e19c85c853ad7ee45b45e4afb63a617946145 (diff)
downloadSCons-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.py14
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