X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=make-news.py;h=ec27986262477620639d360f24b667e0aa85d508;hb=03f9943609343c4035886209f2e14b6ebdb6afb9;hp=a1169edfbe537fe60dacfef92080c98fbc1904ff;hpb=47b0884966fe1dfa14dea026a3811e0088a9214f;p=phdru.name%2Fphdru.name.git
diff --git a/make-news.py b/make-news.py
index a1169ed..ec27986 100755
--- a/make-news.py
+++ b/make-news.py
@@ -1,16 +1,16 @@
-#! /usr/local/bin/python -O
-
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
-__author__ = "Oleg BroytMann "
-__copyright__ = "Copyright (C) 2006 PhiloSoft Design"
+#! /usr/bin/env python
+# -*- coding: koi8-r -*-
+__author__ = "Oleg Broytman "
+__copyright__ = "Copyright (C) 2006-2013 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]
@@ -25,8 +25,68 @@ 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)
+$phd_site.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 Broytman's Personal Page - News",
+ "baseURL": "http://phdru.name/",
+ "indexFile": "news.html",
+ "description": "",
+ "lang": lang,
+ "author": "Oleg Broytman",
+ "email": "phd@phdru.name",
+ "generator": os.path.basename(sys.argv[0]),
+ "posts": news_items,
+}
+
+if lang == "ru":
+ namespace["title"] = "Oleg Broytman's Personal Page - Russian News"
+ namespace["baseURL"] = baseURL = "http://phdru.name/Russian/"
+ for item in news_items:
+ item.baseURL = baseURL
+ item.title = item.title.decode('koi8-r').encode('utf-8')
+
+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 = unicode(atom_10(searchList=[namespace])).encode('koi8-r')
+write_if_changed(os.path.join(root, "atom_10.xml"), atom_tmpl)
+rss_tmpl = unicode(rss_20(searchList=[namespace])).encode('koi8-r')
+write_if_changed(os.path.join(root, "rss_20.xml"), rss_tmpl)