# HG changeset patch # User Marcin Kuzminski # Date 1273410360 -7200 # Node ID b5e59e2b5cfe84998eb80efd93e977680b6be831 # Parent f96f4cbf89ae193f56d21c28f40df39667cd0402 moved cache invalidating to utils, as seperate function. Implemented invalidating in diff -r f96f4cbf89ae -r b5e59e2b5cfe pylons_app/controllers/admin.py --- a/pylons_app/controllers/admin.py Sun May 09 14:53:52 2010 +0200 +++ b/pylons_app/controllers/admin.py Sun May 09 15:06:00 2010 +0200 @@ -3,7 +3,6 @@ from pylons import request, response, session, tmpl_context as c, url, app_globals as g from pylons.controllers.util import abort, redirect -from beaker.cache import region_invalidate from pylons_app.lib.base import BaseController, render from pylons_app.lib import auth from pylons_app.model.forms import LoginForm @@ -12,7 +11,8 @@ from pylons_app.model import meta from pylons_app.model.db import Users, UserLogs from webhelpers.paginate import Page -from pylons_app.lib.utils import check_repo +from pylons_app.lib.utils import check_repo, invalidate_cache + log = logging.getLogger(__name__) class AdminController(BaseController): @@ -81,9 +81,8 @@ self._create_repo(new_repo) c.new_repo = new_repo c.msg = 'added repo' - from pylons_app.lib.base import _get_repos #clear our cached list for refresh with new repo - region_invalidate(_get_repos, None, 'repo_list_2') + invalidate_cache('repo_list_2') except Exception as e: c.new_repo = 'Exception when adding: %s' % new_repo c.msg = str(e) diff -r f96f4cbf89ae -r b5e59e2b5cfe pylons_app/controllers/repos.py --- a/pylons_app/controllers/repos.py Sun May 09 14:53:52 2010 +0200 +++ b/pylons_app/controllers/repos.py Sun May 09 15:06:00 2010 +0200 @@ -10,6 +10,7 @@ from pylons_app.model.hg_model import HgModel from operator import itemgetter import shutil +from pylons_app.lib.utils import invalidate_cache log = logging.getLogger(__name__) class ReposController(BaseController): @@ -64,6 +65,10 @@ log.info("Removing %s", rm_path) shutil.move(os.path.join(rm_path, '.hg'), os.path.join(rm_path, 'rm__.hg')) shutil.move(rm_path, os.path.join(path, 'rm__%s-%s' % (datetime.today(), id))) + + #clear our cached list for refresh with new repo + invalidate_cache('repo_list_2') + return redirect(url('repos')) diff -r f96f4cbf89ae -r b5e59e2b5cfe pylons_app/lib/utils.py --- a/pylons_app/lib/utils.py Sun May 09 14:53:52 2010 +0200 +++ b/pylons_app/lib/utils.py Sun May 09 15:06:00 2010 +0200 @@ -90,6 +90,14 @@ return baseui +def invalidate_cache(name): + from beaker.cache import region_invalidate + if name == 'repo_list_2': + log.info('INVALIDATING CACHE FOR %s', name) + from pylons_app.lib.base import _get_repos + #clear our cached list for refresh with new repo + region_invalidate(_get_repos, None, 'repo_list_2') + from vcs.backends.base import BaseChangeset from vcs.utils.lazy import LazyProperty class EmptyChangeset(BaseChangeset):