##// END OF EJS Templates
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.

File last commit:

r169:8e01265f default
r169:8e01265f default
Show More
base.py
28 lines | 997 B | text/x-python | PythonLexer
Marcin Kuzminski
initial commit.
r0 """The base Controller API
Provides the BaseController class for subclassing.
"""
from pylons.controllers import WSGIController
from pylons.templating import render_mako as render
from pylons_app.model import meta
Added repo switcher, in base and long term caching for this.
r107 from beaker.cache import cache_region
from pylons import tmpl_context as c
from pylons_app.model.hg_model import HgModel
Marcin Kuzminski
initial commit.
r0
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.
r169 @cache_region('long_term', 'cached_repo_list')
def _get_repos_cached():
return [rep for rep in HgModel().get_repos()]
Moved cached function for easier invalidation
r134
Marcin Kuzminski
initial commit.
r0 class BaseController(WSGIController):
Added repo switcher, in base and long term caching for this.
r107
Marcin Kuzminski
initial commit.
r0 def __call__(self, environ, start_response):
"""Invoke the Controller"""
# WSGIController.__call__ dispatches to the Controller method
# the request is routed to. This routing information is
# available in environ['pylons.routes_dict']
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.
r169 c.cached_repo_list = _get_repos_cached()
moved sqlalchemy session to base.
r151 self.sa = meta.Session
Marcin Kuzminski
initial commit.
r0 try:
return WSGIController.__call__(self, environ, start_response)
finally:
fixed sqlalchemy session bug,
r51 meta.Session.remove()