]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - news.py
gen-sitemap: fix a bug: args.exclude can be None
[phdru.name/phdru.name.git] / news.py
diff --git a/news.py b/news.py
index 7d0977c9cba939f66ae25e8ec103b396907d8a8d..3e0385116228ed6b637c9c918c25066b15d7fde3 100644 (file)
--- a/news.py
+++ b/news.py
@@ -1,33 +1,43 @@
 """News"""
 
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
-__author__ = "Oleg BroytMann <phd@phd.pp.ru>"
-__copyright__ = "Copyright (C) 2006 PhiloSoft Design"
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2006-2012 PhiloSoft Design"
 __docformat__ = "epytext en"
 
 __all__ = ["get_news", "write_if_changed"]
 
 
+from datetime import date
+from urlparse import urljoin
+
 class NewsItem(object):
+   baseURL = "http://phdru.name/"
+   excerpt = None
+   content = None
+   categoryList = []
+
    def __init__(self, date, title, rel_link):
       self.date = date
       self.title = title
       self.rel_link = rel_link
 
-def get_news(lang):
-   """Get news
+   def URL(self):
+      return urljoin(self.baseURL, self.rel_link)
 
-   @param lang: langauge
-   @type lang: a string 'en' or 'ru'
-   @return: a tuple of (lnaguge-dependent header, a list of new items)
+   def rfc822_date(self):
+      y, m, d = self.date.split('-')
+      d = date(int(y), int(m), int(d))
+      return d.strftime("%a, %d %b %Y %H:%M:%S +0300")
 
-   """
+
+def get_news_header(lang):
    news_tmpl_file = open("news.tmpl-%s" % lang, 'r')
    header = news_tmpl_file.read()
    news_tmpl_file.close()
 
+   return header
+
+def get_news_items(lang):
    news_items_file = open("news_%s" % lang, 'r')
    news_text = news_items_file.read()
    news_items_file.close()
@@ -38,7 +48,17 @@ def get_news(lang):
       date, rel_link, title = line.split(None, 2)
       news_items.append(NewsItem(date, title, rel_link))
 
-   return header, news_items
+   return news_items
+
+def get_news(lang):
+   """Get news
+
+   @param lang: langauge
+   @type lang: a string 'en' or 'ru'
+   @return: a tuple of (lnaguge-dependent header, a list of new items)
+
+   """
+   return get_news_header(lang), get_news_items(lang)
 
 
 def write_if_changed(filename, new_text):