]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - gen-sitemap.py
Feat(reindex_blog.py): Расширить описание
[phdru.name/phdru.name.git] / gen-sitemap.py
index 333069f0122df57fdad96776356d9ed175467509..797801099e67bae50b940a0b67f2e837b122dfa9 100755 (executable)
@@ -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 = '<a href="%s/">%s</a>' % (subpath, title)
         if subtree:
-            subparts.append(indent + "<li>%s" % title)
-            subparts.append(_tree2html(subtree, level+2))
+            subparts.append(indent + "<li>%s" % href)
+            subparts.append(_tree2html(subtree, subpath, level+2))
             subparts.append(indent + "</li>")
         else:
-            subparts.append(indent + "<li>%s</li>" % title)
+            subparts.append(indent + "<li>%s</li>" % 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