X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=news.py;h=4f62778fc81f248f1a923d72402ecbd2bfe2dd73;hb=c89b746df98f09e80169480d13ec452c2a919f7e;hp=f454592f45d0d0e84db15ae063d9be12123dc718;hpb=42465be8abac2fdb32c939bc7e5ad0fbca5df2f8;p=phdru.name%2Fphdru.name.git diff --git a/news.py b/news.py index f454592..4f62778 100644 --- a/news.py +++ b/news.py @@ -1,79 +1,88 @@ """News""" -__version__ = "$Revision$"[11:-2] -__revision__ = "$Id$"[5:-2] -__date__ = "$Date$"[7:-2] +from __future__ import print_function + __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2006-2010 PhiloSoft Design" +__copyright__ = "Copyright (C) 2006-2017 PhiloSoft Design" __docformat__ = "epytext en" __all__ = ["get_news", "write_if_changed"] from datetime import date -from urlparse import urljoin +try: + from urlparse import urljoin +except ImportError: + from urllib.parse import urljoin + +try: + unicode +except NameError: # PY3 + std_open = open + def open(fname, mode): + return std_open(fname, mode, encoding='koi8-r') class NewsItem(object): - baseURL = "http://phdru.name/" - excerpt = None - content = None - categoryList = [] + baseURL = "https://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 __init__(self, date, title, rel_link): + self.date = date + self.title = title + self.rel_link = rel_link - def URL(self): - return urljoin(self.baseURL, self.rel_link) + def URL(self): + return urljoin(self.baseURL, self.rel_link) - 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 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() + news_tmpl_file = open("news.tmpl-%s" % lang, 'r') + header = news_tmpl_file.read() + news_tmpl_file.close() - return header + 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() + news_items_file = open("news_%s" % lang, 'r') + news_text = news_items_file.read() + news_items_file.close() - news_items = [] - for line in news_text.split('\n'): - if not line: continue - date, rel_link, title = line.split(None, 2) - news_items.append(NewsItem(date, title, rel_link)) + news_items = [] + for line in news_text.split('\n'): + if not line: continue + date, rel_link, title = line.split(None, 2) + news_items.append(NewsItem(date, title, rel_link)) - return news_items + return news_items def get_news(lang): - """Get news + """Get news - @param lang: langauge - @type lang: a string 'en' or 'ru' - @return: a tuple of (lnaguge-dependent header, a list of new items) + @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) + """ + return get_news_header(lang), get_news_items(lang) def write_if_changed(filename, new_text): - try: - infile = open(filename, 'r') - old_text = infile.read() - infile.close() - except IOError: - old_text = None - - if old_text <> new_text: - print "Writing", filename - outfile = open(filename, 'w') - outfile.write(new_text) - outfile.close() + try: + infile = open(filename, 'r') + old_text = infile.read() + infile.close() + except IOError: + old_text = None + + if old_text != new_text: + print("Writing", filename) + outfile = open(filename, 'w') + outfile.write(new_text) + outfile.close()