]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - gen-sitemap.py
gen-sitemap: minor optimization
[phdru.name/phdru.name.git] / gen-sitemap.py
index 1afe424131947fac5bd56bb175d6ab734661fb71..b6ab57d8be254160c17af11d82e1fe3282e26498 100755 (executable)
@@ -20,6 +20,10 @@ os.chdir(args.root_dir)
 fullpath = os.getcwd()
 fp_len = len(fullpath)
 
+tree = ('', [])
+current_subtree = tree[1]
+save_level = 0
+
 for dirpath, dirs, files in sorted(os.walk(fullpath)):
     try:
         dirpath = dirpath[fp_len:]
@@ -30,6 +34,15 @@ for dirpath, dirs, files in sorted(os.walk(fullpath)):
                 raise StopIteration
         parts = dirpath.split('/')
         level = len(parts) - 2
-        print '    ' * level + parts[-1]
+        if level < save_level:
+            current_subtree = tree[1]
+            for i in range(level):
+                current_subtree = current_subtree[-1][1]
+        elif level > save_level:
+            assert level - save_level == 1
+            current_subtree = current_subtree[-1][1]
+        #else: # level == save_level:
+        current_subtree.append((parts[-1], []))
+        save_level = level
     except StopIteration:
         pass