X-Git-Url: https://git.phdru.name/?p=phdru.name%2Fphdru.name.git;a=blobdiff_plain;f=make-news.py;h=35cf42d25cbf697f7087064454e384f1371d46e0;hp=0b60127fc1c84adf38c7412d653503c76fad5e4d;hb=HEAD;hpb=73c67fdc0fc335587ca170f35872042643bb3841 diff --git a/make-news.py b/make-news.py index 0b60127..35cf42d 100755 --- a/make-news.py +++ b/make-news.py @@ -1,16 +1,15 @@ #! /usr/bin/env python # -*- coding: koi8-r -*- -__version__ = "$Revision$"[11:-2] -__revision__ = "$Id$"[5:-2] -__date__ = "$Date$"[7:-2] -__author__ = "Oleg BroytMann " -__copyright__ = "Copyright (C) 2006 PhiloSoft Design" - +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2006-2017 PhiloSoft Design" import sys, os from news import get_news, write_if_changed +from atom_10 import atom_10 +from rss_20 import rss_20 + lang = sys.argv[1] root = sys.argv[2] @@ -19,22 +18,21 @@ header, news_items = get_news(lang) new_text = [header] new_text.append(""" -

-

""") if lang == "en": - new_text.append("""\ + new_text.append("""\ News are also available in Atom 1.0 and RSS 2.0 @@ -42,7 +40,7 @@ formats. """) elif lang == "ru": - new_text.append("""\ + new_text.append("""\ îÏ×ÏÓÔÅ×ÁÑ ÌÅÎÔÁ × ÆÏÒÍÁÔÁÈ Atom 1.0 É RSS 2.0 . @@ -51,45 +49,54 @@ elif lang == "ru": new_text.append("""\

#end def -$phd_pp_ru.respond(self) +$phd_site.respond(self) """) 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, + "title": "Oleg Broytman's Personal Page - News", + "baseURL": "https://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 Broytmann's Personal Page - Russian News" - namespace["baseURL"] = baseURL = "http://phd.pp.ru/Russian/" - for item in news_items: - item.baseURL = baseURL + namespace["title"] = "Oleg Broytman's Personal Page - Russian News" + namespace["baseURL"] = baseURL = "https://phdru.name/Russian/" + for item in news_items: + item.baseURL = baseURL + if isinstance(item.title, bytes): + 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 = str(atom_10(searchList=[namespace])) + 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 = atom_10(searchList=[namespace]) +rss_tmpl = rss_20(searchList=[namespace]) + +try: + unicode +except NameError: # PY3 + atom_tmpl = str(atom_tmpl) + rss_tmpl = str(rss_tmpl) +else: + atom_tmpl = unicode(atom_tmpl).encode('koi8-r') + rss_tmpl = unicode(rss_tmpl).encode('koi8-r') + 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)