]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - make-news.py
Blog feeds.
[phdru.name/phdru.name.git] / make-news.py
index a1169edfbe537fe60dacfef92080c98fbc1904ff..4f132f7cb4f5813d1b355850c8874796622e29de 100755 (executable)
@@ -10,7 +10,10 @@ __copyright__ = "Copyright (C) 2006 PhiloSoft Design"
 import sys, os
 from news import get_news, write_if_changed
 
-header, news_items = get_news(sys.argv[1])
+lang = sys.argv[1]
+root = sys.argv[2]
+
+header, news_items = get_news(lang)
 
 new_text = [header]
 
@@ -29,4 +32,41 @@ new_text.append("""\
 $phd_pp_ru.respond(self)
 """)
 
-write_if_changed(os.path.join(sys.argv[2], "news.tmpl"), ''.join(new_text))
+write_if_changed(os.path.join(root, "news.tmpl"), ''.join(new_text))
+
+
+from atom_10 import atom_10
+from rss_20 import rss_20
+
+namespace = {
+   "title": "Oleg Broytmann's Personal Page - News",
+   "baseURL": "http://phd.pp.ru/",
+   "indexFile": "news.html",
+   "description": "",
+   "lang": lang,
+   "author": "Oleg Broytmann",
+   "email": "phd@phd.pp.ru",
+   "posts": news_items,
+}
+
+if lang == "ru":
+   namespace["title"] = "Oleg Broytmann's Personal Page - Russian News"
+   namespace["baseURL"] = baseURL = "http://phd.pp.ru/Russian/"
+   for item in news_items:
+      item.baseURL = baseURL
+
+for item in news_items:
+   href_parts = item.rel_link.split('/')
+   if href_parts:
+      if href_parts[0] == '.':
+         category = "Home page"
+      elif href_parts[0] == "..":
+         category = href_parts[1]
+      else:
+         category = href_parts[0]
+      if category: item.categoryList = [category]
+
+atom_tmpl = str(atom_10(searchList=[namespace]))
+write_if_changed(os.path.join(root, "atom_10.xml"), atom_tmpl)
+rss_tmpl = str(rss_20(searchList=[namespace]))
+write_if_changed(os.path.join(root, "rss_20.xml"), rss_tmpl)