annotate redirector/factory.py @ 0:af82aaec0377

initial import of redirector
author k0s <k0scist@gmail.com>
date Mon, 07 Sep 2009 15:15:48 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
1 import os
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
2 from redirector import Redirector
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
3 from paste.httpexceptions import HTTPExceptionHandler
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
4 from paste.urlparser import StaticURLParser
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
5
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
6 def factory(global_conf, **app_conf):
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
7 """create a sample redirector"""
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
8 assert 'app.directory' in app_conf
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
9 directory = app_conf['app.directory']
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
10 assert os.path.isdir(directory)
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
11 keystr = 'redirector.'
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
12 args = dict([(key.split(keystr, 1)[-1], value)
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
13 for key, value in app_conf.items()
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
14 if key.startswith(keystr) ])
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
15 app = StaticURLParser(directory)
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
16 redirector = Redirector(app, **args)
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
17 return HTTPExceptionHandler(redirector)
af82aaec0377 initial import of redirector
k0s <k0scist@gmail.com>
parents:
diff changeset
18