X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;ds=sidebyside;f=make-news.py;h=0b60127fc1c84adf38c7412d653503c76fad5e4d;hb=73c67fdc0fc335587ca170f35872042643bb3841;hp=9556322aff54fac2592599ae3bd090b03255899f;hpb=30c30ad32bd724dd3026cd8c19d2abe033e85dfa;p=phdru.name%2Fphdru.name.git
diff --git a/make-news.py b/make-news.py
index 9556322..0b60127 100755
--- a/make-news.py
+++ b/make-news.py
@@ -1,4 +1,5 @@
-#! /usr/local/bin/python -O
+#! /usr/bin/env python
+# -*- coding: koi8-r -*-
__version__ = "$Revision$"[11:-2]
__revision__ = "$Id$"[5:-2]
@@ -10,8 +11,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])
-root_dir = sys.argv[2]
+lang = sys.argv[1]
+root = sys.argv[2]
+
+header, news_items = get_news(lang)
new_text = [header]
@@ -26,8 +29,67 @@ for item in news_items:
new_text.append("""\
+
+
+""")
+
+if lang == "en":
+ new_text.append("""\
+News are also available in
+Atom 1.0
+and RSS 2.0
+formats.
+""")
+
+elif lang == "ru":
+ new_text.append("""\
+îÏ×ÏÓÔÅ×ÁÑ ÌÅÎÔÁ × ÆÏÒÍÁÔÁÈ
+Atom 1.0
+É RSS 2.0
.
+""")
+
+new_text.append("""\
+
#end def
$phd_pp_ru.respond(self)
""")
-write_if_changed(sys.argv[3], ''.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",
+ "generator": os.path.basename(sys.argv[0]),
+ "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)