sites/irclogs.qmsk.net/handlers.py
author Tero Marttila <terom@fixme.fi>
Sun, 08 Feb 2009 02:29:23 +0200
branchsites
changeset 42 5a72c00c4ae4
parent 41 9585441a4bfb
child 43 fc11c4e86a82
permissions -rw-r--r--
more fiddling around with the irclogs layout/css, add query args to URL
"""
    Our URL action handlers
"""

from lib import http, template

import urls, channels

# load templates from here
templates = template.TemplateLoader("sites/irclogs.qmsk.net/templates",
    urls            = urls,
    channel_list    = channels.channel_list,
)

def index (request) :
    """
        The topmost index page, display a list of available channels, perhaps some general stats
    """
    
    return templates.render_to_response("index",
        req             = request,
    )

def channel_select (request, channel) :
    """
        Redirect to the appropriate channel_view
    """
   
    return http.Redirect(urls.channel_view.build(request, channel=channel.id))

def channel_view (request, channel) :
    """
        The main channel view page, display the most important info, and all requisite links
    """

    return templates.render_to_response("channel",
        req             = request,
        channel         = channel,
    )

    pass

def channel_last (request, channel, count, format) :
    """
        Display the last x lines of channel messages in various formats
    """

    if format == 'txt' :
        return http.Response('\n'.join(channel.source.get_latest(count)), 'text/plain')
    
    else :
        raise http.ResponseError("Unknown filetype %r" % format)

def channel_search (request, channel) :
    """
        Display the search form for the channel for GET, or do the search for POST
    """

    pass