urls.py
changeset 50 f13cf27a360b
parent 49 aaa62c8e5bd5
child 51 07ca28f3a9f2
equal deleted inserted replaced
49:aaa62c8e5bd5 50:f13cf27a360b
     2 """
     2 """
     3     URL mapping for the irclogs.qmsk.net site
     3     URL mapping for the irclogs.qmsk.net site
     4 """
     4 """
     5 
     5 
     6 # urltree stuff
     6 # urltree stuff
     7 from qmsk.web.urltree import URLConfig, URL, URLTree
     7 from qmsk.web import urltree
     8 
     8 
     9 # our own handlers
     9 # our own handlers
    10 import handlers
    10 import handlers
    11 
    11 
    12 # for types
    12 # for types
    13 import channels 
    13 import channels, log_formatter, utils
    14 
    14 
    15 # our URLConfig
    15 # our URLConfig
    16 url_config = URLConfig(
    16 urls = url = urltree.URLConfig(
    17     type_dict   = { 
    17     type_dict   = { 
    18         # lookup LogChannel
    18         # lookup LogChannel
    19         'cid': channels.channel_list.lookup 
    19         'cid':  channels.channel_list.lookup,
       
    20         'fmt':  log_formatter.by_name,
       
    21         'date': utils.Date(None, '%Y-%m-%d'),
    20     }
    22     }
    21 )
    23 )
    22 
       
    23 # shortcut for building an URL with our url_config
       
    24 def url (*args, **kwargs) :
       
    25     return URL(url_config, *args, **kwargs)
       
    26 
    24 
    27 # urls
    25 # urls
    28 index           = url('/',                                                              handlers.index                  )
    26 index           = url('/',                                                              handlers.index                  )
    29 channel_select  = url('/channel_select/?channel:cid',                                   handlers.channel_select         )
    27 channel_select  = url('/channel_select/?channel:cid',                                   handlers.channel_select         )
    30 channel_view    = url('/channels/{channel:cid}/?count:str=10',                          handlers.channel_view           )
    28 channel_view    = url('/channels/{channel:cid}/?count:int=10&formatter:fmt=irssi',      handlers.channel_view           )
    31 channel_last    = url('/channels/{channel:cid}/last/{count:int=100}/{format=html}',     handlers.channel_last           )
    29 channel_last    = url('/channels/{channel:cid}/last/{count:int=100}/{format=html}',     handlers.channel_last           )
    32 channel_search  = url('/channels/{channel:cid}/search/?q',                               handlers.channel_search         )
    30 channel_date    = url('/channels/{channel:cid}/date/{date:date}/?formatter:fmt=irssi',  handlers.channel_date           )
       
    31 channel_search  = url('/channels/{channel:cid}/search/?q',                              handlers.channel_search         )
    33 
    32 
    34 # mapper
    33 # mapper
    35 mapper = URLTree(
    34 mapper = urltree.URLTree(urls)
    36     [index, channel_select, channel_view, channel_last, channel_search]
       
    37 )
       
    38 
    35