X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=gen-sitemap.py;h=32c729dfabefcc7d9047e9c2a442aaae46bb8ed6;hb=d9ba21a451e4ffba47c0d5faf0d1a0c5cf4d6487;hp=aaff97a7c3001f77707b32876da324d3bc20b73a;hpb=26713dc072157f98578ef6fc2a60288c2b155326;p=phdru.name%2Fphdru.name.git diff --git a/gen-sitemap.py b/gen-sitemap.py index aaff97a..32c729d 100755 --- a/gen-sitemap.py +++ b/gen-sitemap.py @@ -12,10 +12,11 @@ parser.add_argument('root_dir', help='Root dicrectory') args = parser.parse_args() exclude = [] -for pat in args.exclude: - exclude.append(pat) - if not pat.endswith('/*'): - exclude.append(pat + '/*') +if args.exclude: + for pat in args.exclude: + exclude.append(pat) + if not pat.endswith('/*'): + exclude.append(pat + '/*') os.chdir(args.root_dir) fullpath = os.getcwd() @@ -48,16 +49,20 @@ for dirpath, dirs, files in sorted(os.walk(fullpath)): 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 = []