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()
except StopIteration:
pass
-def _tree2html(tree, level=0):
- indent = " " * level
- strings = []
- strings.append(indent + "<ul>")
-
- level += 1
- indent2 = " " * level
-
+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 = '<a href="%s/">%s</a>' % (subpath, title)
if subtree:
- strings.append(indent2 + "<li>%s" % title)
- strings.append(_tree2html(subtree, level+1))
- strings.append(indent2 + "</li>")
+ subparts.append(indent + "<li>%s" % href)
+ subparts.append(_tree2html(subtree, subpath, level+2))
+ subparts.append(indent + "</li>")
else:
- strings.append(indent2 + "<li>%s</li>" % title)
+ subparts.append(indent + "<li>%s</li>" % href)
+ s = "\n".join(subparts)
+
+ parts = []
+ indent = " " * level
+ parts.append(indent + "<ul>")
+ parts.append(s)
+ parts.append(indent + "</ul>")
- strings.append(indent + "</ul>")
- return '\n'.join(strings)
+ return "\n".join(parts)
sitemap_tmpl = ["""\
#extends phd_site