author Tero Marttila <terom@fixme.fi>
Sun, 15 Feb 2009 23:50:24 +0200
changeset 129 67a30d680f60
parent 80 a0662cff1d9d
permissions -rw-r--r--
Autodetect user timezone using Javascript, this makes the Preferences code a bit more complicated in terms of interaction between default/parse/is_default/build/process/etc, but it should work as intended now
    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           = [
                    # 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)