Mercurial > kallithea
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 """ |