handlers.py
author Tero Marttila <terom@fixme.fi>
Sun, 08 Feb 2009 04:59:22 +0200
changeset 49 aaa62c8e5bd5
parent 47 3d59c9eeffaa
child 50 f13cf27a360b
permissions -rw-r--r--
add search form to menu, remove styling from inputs/selects other than the submit button
"""
    Our URL action handlers
"""

from qmsk.web import http, template

import urls, channels

# load templates from here
templates = template.TemplateLoader("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, q) :
    """
        Display the search form for the channel for GET, or do the search for POST
    """

    pass