X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=gen-sitemap.py;h=797801099e67bae50b940a0b67f2e837b122dfa9;hb=HEAD;hp=333069f0122df57fdad96776356d9ed175467509;hpb=3b607b20bbfbc5b8a2282d57b4c1f99f07f9d272;p=phdru.name%2Fphdru.name.git diff --git a/gen-sitemap.py b/gen-sitemap.py index 333069f..7978010 100755 --- a/gen-sitemap.py +++ b/gen-sitemap.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 import argparse from fnmatch import fnmatch @@ -43,22 +43,27 @@ for dirpath, dirs, files in sorted(os.walk(fullpath)): elif level > save_level: assert level - save_level == 1 current_subtree = current_subtree[-1][1] - #else: # level == save_level: + # else: # level == save_level: current_subtree.append((parts[-1], [])) save_level = level except StopIteration: pass -def _tree2html(tree, level=0): + +def _tree2html(tree, path='', level=0): subparts = [] indent = " " * (level + 1) for title, subtree in tree: + subpath = "%s/%s" % (path, title) + if subpath.startswith('/'): + subpath = subpath[1:] + href = '%s' % (subpath, title) if subtree: - subparts.append(indent + "
  • %s" % title) - subparts.append(_tree2html(subtree, level+2)) + subparts.append(indent + "
  • %s" % href) + subparts.append(_tree2html(subtree, subpath, level+2)) subparts.append(indent + "
  • ") else: - subparts.append(indent + "
  • %s
  • " % title) + subparts.append(indent + "
  • %s
  • " % href) s = "\n".join(subparts) parts = [] @@ -69,6 +74,7 @@ def _tree2html(tree, level=0): return "\n".join(parts) + sitemap_tmpl = ["""\ #extends phd_site #implements respond