X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=news.py;h=3e0385116228ed6b637c9c918c25066b15d7fde3;hb=d4a8101f56c22a7b3ac880252ef4caa349d68959;hp=7d0977c9cba939f66ae25e8ec103b396907d8a8d;hpb=30c30ad32bd724dd3026cd8c19d2abe033e85dfa;p=phdru.name%2Fphdru.name.git diff --git a/news.py b/news.py index 7d0977c..3e03851 100644 --- 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 " -__copyright__ = "Copyright (C) 2006 PhiloSoft Design" +__author__ = "Oleg Broytman " +__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):