]> git.phdru.name Git - phdru.name/phdru.name.git/blob - make-news.py
Blog feeds.
[phdru.name/phdru.name.git] / make-news.py
1 #! /usr/local/bin/python -O
2
3 __version__ = "$Revision$"[11:-2]
4 __revision__ = "$Id$"[5:-2]
5 __date__ = "$Date$"[7:-2]
6 __author__ = "Oleg BroytMann <phd@phd.pp.ru>"
7 __copyright__ = "Copyright (C) 2006 PhiloSoft Design"
8
9
10 import sys, os
11 from news import get_news, write_if_changed
12
13 lang = sys.argv[1]
14 root = sys.argv[2]
15
16 header, news_items = get_news(lang)
17
18 new_text = [header]
19
20 new_text.append("""
21 <p class="head">
22    <ul>
23 """)
24
25 for item in news_items:
26    new_text.append('      <li><a href="%s">%s - %s</a></li>\n' % (item.rel_link, item.date, item.title))
27
28 new_text.append("""\
29    </ul>
30 </p>
31 #end def
32 $phd_pp_ru.respond(self)
33 """)
34
35 write_if_changed(os.path.join(root, "news.tmpl"), ''.join(new_text))
36
37
38 from atom_10 import atom_10
39 from rss_20 import rss_20
40
41 namespace = {
42    "title": "Oleg Broytmann's Personal Page - News",
43    "baseURL": "http://phd.pp.ru/",
44    "indexFile": "news.html",
45    "description": "",
46    "lang": lang,
47    "author": "Oleg Broytmann",
48    "email": "phd@phd.pp.ru",
49    "posts": news_items,
50 }
51
52 if lang == "ru":
53    namespace["title"] = "Oleg Broytmann's Personal Page - Russian News"
54    namespace["baseURL"] = baseURL = "http://phd.pp.ru/Russian/"
55    for item in news_items:
56       item.baseURL = baseURL
57
58 for item in news_items:
59    href_parts = item.rel_link.split('/')
60    if href_parts:
61       if href_parts[0] == '.':
62          category = "Home page"
63       elif href_parts[0] == "..":
64          category = href_parts[1]
65       else:
66          category = href_parts[0]
67       if category: item.categoryList = [category]
68
69 atom_tmpl = str(atom_10(searchList=[namespace]))
70 write_if_changed(os.path.join(root, "atom_10.xml"), atom_tmpl)
71 rss_tmpl = str(rss_20(searchList=[namespace]))
72 write_if_changed(os.path.join(root, "rss_20.xml"), rss_tmpl)