diff -r 43ac75054d5c -r a0662cff1d9d log_formatter_rss.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/log_formatter_rss.py Tue Feb 10 03:22:43 2009 +0200 @@ -0,0 +1,41 @@ +""" + Uses PyRSS2Gen to generate XML RSS documents +""" + +import PyRSS2Gen as RSS2Gen +import datetime, pytz + +class RSSFormatter (object) : + """ + Mixin for LogFormatter that implements the basic RSS-rendering stuff on top of format_html + """ + + def format_rss (self, lines, **kwargs) : + """ + Process using format_html + """ + + # build the RSS2 object and return the XML + return RSS2Gen.RSS2( + title = "IRC RSS feed", + link = "http://irclogs.qmsk.net/", + description = "A stupid RSS feed that nobody sane would ever use", + + # XXX: GMT + lastBuildDate = datetime.datetime.utcnow(), + + items = [ + RSS2Gen.RSSItem( + # use the formatted HTML data as the title + title = html_data, + + # timestamp + pubDate = line.timestamp.astimezone(pytz.utc), + + # link + link = "http://xxx/", + + ) for line, html_data in self.format_html(lines, **kwargs) + ] + ).to_xml('utf8') +