comparison rhodecode/lib/base.py @ 1601:6f06daeed294 beta

Added Request time tracking
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 26 Oct 2011 20:13:20 +0200
parents 04027bdb876c
children d58e514c0a39
comparison
equal deleted inserted replaced
1600:84e2e29c0f03 1601:6f06daeed294
1 """The base Controller API 1 """The base Controller API
2 2
3 Provides the BaseController class for subclassing. 3 Provides the BaseController class for subclassing.
4 """ 4 """
5 import logging 5 import logging
6 6 import time
7 from pylons import config, tmpl_context as c, request, session, url 7 from pylons import config, tmpl_context as c, request, session, url
8 from pylons.controllers import WSGIController 8 from pylons.controllers import WSGIController
9 from pylons.controllers.util import redirect 9 from pylons.controllers.util import redirect
10 from pylons.templating import render_mako as render 10 from pylons.templating import render_mako as render
11 11
37 def __call__(self, environ, start_response): 37 def __call__(self, environ, start_response):
38 """Invoke the Controller""" 38 """Invoke the Controller"""
39 # WSGIController.__call__ dispatches to the Controller method 39 # WSGIController.__call__ dispatches to the Controller method
40 # the request is routed to. This routing information is 40 # the request is routed to. This routing information is
41 # available in environ['pylons.routes_dict'] 41 # available in environ['pylons.routes_dict']
42 start = time.time()
42 try: 43 try:
43 # putting this here makes sure that we update permissions each time 44 # putting this here makes sure that we update permissions each time
44 api_key = request.GET.get('api_key') 45 api_key = request.GET.get('api_key')
45 user_id = getattr(session.get('rhodecode_user'), 'user_id', None) 46 user_id = getattr(session.get('rhodecode_user'), 'user_id', None)
46 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key) 47 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key)
49 'is_authenticated', False)) 50 'is_authenticated', False))
50 session['rhodecode_user'] = self.rhodecode_user 51 session['rhodecode_user'] = self.rhodecode_user
51 session.save() 52 session.save()
52 return WSGIController.__call__(self, environ, start_response) 53 return WSGIController.__call__(self, environ, start_response)
53 finally: 54 finally:
55 log.debug('Request time: %.3fs' % (time.time()-start))
54 meta.Session.remove() 56 meta.Session.remove()
55 57
56 58
57 class BaseRepoController(BaseController): 59 class BaseRepoController(BaseController):
58 """ 60 """