Added fix for TeX includes with same name as subdirs.
[scons.git] / bin / import-test.py
index 13995578eac70995e04440d9378c1d9ec55b4efc..8ed5399d81c32f66da3d4dbc27f4719679ac1b2e 100644 (file)
@@ -40,11 +40,8 @@ class Dir:
         self.path = path
         self.entries = {}
     def call_for_each_entry(self, func):
-        entries = self.entries
-        names = entries.keys()
-        names.sort()
-        for name in names:
-            func(name, entries[name])
+        for name in sorted(self.entries.keys()):
+            func(name, self.entries[name])
 
 def lookup(dirname):
     global Top, TopPath
@@ -60,11 +57,6 @@ def lookup(dirname):
     node = t.entries[dirs[-1]] = Dir(dirs)
     return node
 
-def make_nodes(arg, dirname, fnames):
-    dir = lookup(dirname)
-    for f in fnames:
-        dir.entries[f] = None
-
 def collect_dirs(l, dir):
     if dir.path:
         l.append(dir.path)
@@ -78,7 +70,7 @@ def print_files(dir):
         if not d:
             l = dir.path + [n]
             sys.stdout.write('\ntest.write(%s, """\\\n' % l)
-            p = os.path.join(*([directory] + l))
+            p = os.path.join(directory, *l)
             sys.stdout.write(open(p, 'r').read())
             sys.stdout.write('""")\n')
     dir.call_for_each_entry(print_a_file)
@@ -88,7 +80,10 @@ def print_files(dir):
             print_files(d)
     dir.call_for_each_entry(recurse)
 
-os.path.walk(directory, make_nodes, None)
+for dirpath, dirnames, filenames in os.walk(directory):
+    dir = lookup(dirpath)
+    for f in fnames:
+        dir.entries[f] = None
 
 subdir_list = []
 collect_dirs(subdir_list, Top)
@@ -96,3 +91,9 @@ subdir_list = [ str(l) for l in subdir_list ]
 sys.stdout.write('test.subdir(' + ',\n            '.join(subdir_list) + ')\n')
 
 print_files(Top)
+
+# Local Variables:
+# tab-width:4
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4: