changeset 196:568f95056716

moved all cache function out to Base Controller for easier maintainance
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 22 May 2010 19:18:09 +0200
parents 7109d15c6813
children da59b7e07e3c
files pylons_app/controllers/changelog.py pylons_app/lib/base.py
diffstat 2 files changed, 6 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/controllers/changelog.py	Sat May 22 16:07:28 2010 +0200
+++ b/pylons_app/controllers/changelog.py	Sat May 22 19:18:09 2010 +0200
@@ -5,21 +5,14 @@
     app_globals as g
 from pylons.controllers.util import abort, redirect
 from pylons_app.lib.auth import LoginRequired
-from pylons_app.lib.base import BaseController, render
+from pylons_app.lib.base import BaseController, render, _full_changelog_cached
 from pylons_app.lib.filters import age as _age, person
 from pylons_app.lib.utils import get_repo_slug
 from pylons_app.model.hg_model import HgModel
 from simplejson import dumps
 from webhelpers.paginate import Page
 import logging
-
-        
-@cache_region('long_term', 'full_changelog')
-def _full_changelog_cached(repo_name):
-    hg_model = HgModel()
-    return list(reversed(list(hg_model.get_repo(repo_name))))        
-
-log = logging.getLogger(__name__)
+log = logging.getLogger(__name__)     
 
 class ChangelogController(BaseController):
     
@@ -28,16 +21,13 @@
         super(ChangelogController, self).__before__()
                 
     def index(self):
-        hg_model = HgModel()
         if request.params.get('size'):
             c.size = int(request.params['size'])
             session['changelog_size'] = c.size
             session.save()
         else:
             c.size = session.get('changelog_size', 20)
-            
 
-                    
         changesets = _full_changelog_cached(c.repo_name)
             
         p = int(request.params.get('page', 1))
--- a/pylons_app/lib/base.py	Sat May 22 16:07:28 2010 +0200
+++ b/pylons_app/lib/base.py	Sat May 22 19:18:09 2010 +0200
@@ -16,6 +16,10 @@
 def _get_repos_cached():
     return [rep for rep in HgModel().get_repos()]
 
+@cache_region('long_term', 'full_changelog')
+def _full_changelog_cached(repo_name):
+    return list(reversed(list(HgModel().get_repo(repo_name))))  
+
 class BaseController(WSGIController):
     
     def __before__(self):