Allow users to pass callables in as controllers, not just import paths

This commit is contained in:
Christopher Allan Webber 2012-04-08 09:54:32 -05:00
parent 241503101d
commit 8a0d35e72a

View File

@ -167,7 +167,13 @@ class MediaGoblinApp(object):
request.matchdict = {} # in case our template expects it
return render_404(request)(environ, start_response)
# import the controller, or if it's already a callable, call that
route_controller = route_match['controller']
if isinstance(route_controller, unicode) \
or isinstance(route_controller, str):
controller = common.import_component(route_match['controller'])
else:
controller = route_match['controller']
# pass the request through our meddleware classes
for m in self.meddleware: