#! /usr/bin/env python # -*- coding: koi8-r -*- __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] header, news_items = get_news(lang) new_text = [header] 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_site.respond(self) """) write_if_changed(os.path.join(root, "news.tmpl"), ''.join(new_text)) namespace = { "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 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 = 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) write_if_changed(os.path.join(root, "rss_20.xml"), rss_tmpl)