X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=gen-sitemap.py;h=1a78a7fb84b8fda32dbfdd1a3712ad8aa922668c;hb=8383bd5528ad8c6f3395ab2aaac5f068514965fe;hp=1afe424131947fac5bd56bb175d6ab734661fb71;hpb=5107d4f2a2139f5437eac462db3e80e7f58558f3;p=phdru.name%2Fphdru.name.git diff --git a/gen-sitemap.py b/gen-sitemap.py index 1afe424..1a78a7f 100755 --- a/gen-sitemap.py +++ b/gen-sitemap.py @@ -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,17 @@ 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] + current_subtree.append((parts[-1], [])) + elif level == save_level: + current_subtree.append((parts[-1], [])) + elif level > save_level: + assert level - save_level == 1 + current_subtree = current_subtree[-1][1] + current_subtree.append((parts[-1], [])) + save_level = level except StopIteration: pass