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 |