]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - reindex_blog.py
First/prev/next/last links in dotfiles and blog tags.
[phdru.name/phdru.name.git] / reindex_blog.py
index 1f9ead41b099f7f2b881ad08654ac1f470d7e04a..0ba0804d4c1d458628744a4c9d8ba5f6c2781744 100755 (executable)
@@ -4,8 +4,8 @@
 __version__ = "$Revision$"[11:-2]
 __revision__ = "$Id$"[5:-2]
 __date__ = "$Date$"[7:-2]
-__author__ = "Oleg BroytMann <phd@phd.pp.ru>"
-__copyright__ = "Copyright (C) 2006 PhiloSoft Design"
+__author__ = "Oleg Broytman <phd@phd.pp.ru>"
+__copyright__ = "Copyright (C) 2006-2010 PhiloSoft Design"
 
 
 import sys, os
@@ -127,11 +127,11 @@ def write_template(level, year, month, day, titles, tags=None):
 
    if level == 0:
       new_text.append("""\
-#attr $Title = "Oleg BroytMann's blog"
-#attr $Description = "BroytMann Russian Blog Index Document"
+#attr $Title = "Oleg Broytman's blog"
+#attr $Description = "Broytman Russian Blog Index Document"
 #attr $Copyright = %(cyear)s
-#attr $alternates = (("application/atom+xml", "News [Atom 1.0]", "atom_10.xml"),
-                     ("application/rss+xml",  "News [RSS 2.0]",  "rss_20.xml")
+#attr $alternates = (("News [Atom 1.0]", "application/atom+xml", "atom_10.xml"),
+                     ("News [RSS 2.0]",  "application/rss+xml",  "rss_20.xml")
 )
 ##
 #def body_html
@@ -140,8 +140,8 @@ def write_template(level, year, month, day, titles, tags=None):
 
    elif level == 1:
       new_text.append("""\
-#attr $Title = "Oleg BroytMann's blog: %(year)s"
-#attr $Description = "BroytMann Russian Blog %(year)s Index Document"
+#attr $Title = "Oleg Broytman's blog: %(year)s"
+#attr $Description = "Broytman Russian Blog %(year)s Index Document"
 #attr $Copyright = %(cyear)s
 ##
 #def body_html
@@ -151,8 +151,8 @@ def write_template(level, year, month, day, titles, tags=None):
    elif level == 2:
       imonth = int(month)
       new_text.append("""\
-#attr $Title = "Oleg BroytMann's blog: %(month_abbr_en)s %(year)s"
-#attr $Description = "BroytMann Russian Blog %(month_name_en)s %(year)s Index Document"
+#attr $Title = "Oleg Broytman's blog: %(month_abbr_en)s %(year)s"
+#attr $Description = "Broytman Russian Blog %(month_name_en)s %(year)s Index Document"
 #attr $Copyright = %(cyear)s
 ##
 #def body_html
@@ -167,19 +167,14 @@ def write_template(level, year, month, day, titles, tags=None):
       iday = int(day)
       imonth = int(month)
 
-      new_text.append("""\
-#attr $Next = "%s"
-""" % titles[0][3])
-
-
       if len(titles) == 1:
          new_text.append("""\
 #attr $refresh = "0; URL=%s"
 """ % titles[0][3])
 
       new_text.append("""\
-#attr $Title = "Oleg BroytMann's blog: %(day)d %(month_abbr_en)s %(year)s"
-#attr $Description = "BroytMann Russian Blog %(day)d %(month_name_en)s %(year)s Index Document"
+#attr $Title = "Oleg Broytman's blog: %(day)d %(month_abbr_en)s %(year)s"
+#attr $Description = "Broytman Russian Blog %(day)d %(month_name_en)s %(year)s Index Document"
 #attr $Copyright = %(cyear)s
 ##
 #def body_html
@@ -328,8 +323,8 @@ new_text = ["""\
 ## THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
 #extends phd_pp_ru
 #implements respond
-#attr $Title = "Oleg BroytMann's blog: tags"
-#attr $Description = "BroytMann Russian Blog Tags Index Document"
+#attr $Title = "Oleg Broytman's blog: tags"
+#attr $Description = "Broytman Russian Blog Tags Index Document"
 #attr $Copyright = 2006
 ##
 #def body_html
@@ -339,17 +334,49 @@ new_text = ["""\
 <dl>
 """]
 
-for count, tag, links in all_tags:
+for i, (count, tag, links) in enumerate(all_tags):
    new_text.append("""\
    <dt><a href="%s.html">%s (%d)</a></dt>
 """ % (tag, tag, count))
 
+   first = all_tags[0][1]
+   if i == 0:
+      prev = None
+   else:
+      prev = all_tags[i-1][1]
+   if i >= len(all_tags)-1:
+      next = None
+   else:
+      next = all_tags[i+1][1]
+   last = all_tags[-1][1]
+
    tag_text = ["""\
 ## THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
 #extends phd_pp_ru
 #implements respond
-#attr $Title = "Oleg BroytMann's blog: tag %s"
-#attr $Description = "BroytMann Russian Blog Tag %s Index Document"
+#attr $Title = "Oleg Broytman's blog: tag %s"
+#attr $Description = "Broytman Russian Blog Tag %s Index Document"
+""" % (tag, tag)]
+
+   tag_text.append("""\
+#attr $First = "%s"
+""" % first)
+
+   if prev:
+      tag_text.append("""\
+#attr $Prev = "%s"
+""" % prev)
+
+   if next:
+      tag_text.append("""\
+#attr $Next = "%s"
+""" % next)
+
+   tag_text.append("""\
+#attr $Last = "%s"
+""" % last)
+
+   tag_text.append("""\
 #attr $Copyright = 2006
 ##
 #def body_html
@@ -357,7 +384,7 @@ for count, tag, links in all_tags:
 
 <p class="head">
 <ul>
-""" % (tag, tag, tag)]
+""" % tag)
 
    count = 0
    for year, month, day, filename, title, lead in reversed(links):
@@ -417,12 +444,12 @@ for item in tuple(reversed(all_titles_tags))[:10]:
    item.categoryList = tags
 
 namespace = {
-   "title": "Oleg Broytmann's blog",
+   "title": "Oleg Broytman's blog",
    "baseURL": baseURL,
    "indexFile": "",
    "description": "",
    "lang": "ru",
-   "author": "Oleg Broytmann",
+   "author": "Oleg Broytman",
    "email": "phd@phd.pp.ru",
    "generator": os.path.basename(sys.argv[0]),
    "posts": items,