sites/irclogs.qmsk.net/handlers.py
author Tero Marttila <terom@fixme.fi>
Sun, 08 Feb 2009 02:55:53 +0200
branchsites
changeset 43 fc11c4e86a82
parent 42 5a72c00c4ae4
permissions -rw-r--r--
implement channel_view count, the query stuff, css, layout all need some cleanup :(
"""
    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, count) :
    """
        The main channel view page, display the most important info, and all requisite links
    """

    if count == 'all' :
        xxx

    else :
        count = int(count)

    return templates.render_to_response("channel",
        req             = request,
        channel         = channel,
        count           = count,
        lines           = channel.source.get_latest(count),
    )

    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