Mercurial > kallithea
diff rhodecode/controllers/home.py @ 1366:9c0f5d558789 beta
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
to db repository instance, and then fetched from cache. Also made all current test work.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 07 Jun 2011 17:58:51 +0200 |
parents | 3bce31f026b8 |
children | eee3cb592099 |
line wrap: on
line diff
--- a/rhodecode/controllers/home.py Mon Jun 06 17:30:34 2011 +0200 +++ b/rhodecode/controllers/home.py Tue Jun 07 17:58:51 2011 +0200 @@ -31,7 +31,7 @@ from rhodecode.lib.auth import LoginRequired from rhodecode.lib.base import BaseController, render -from rhodecode.model.db import Group +from rhodecode.model.db import Group, Repository log = logging.getLogger(__name__) @@ -56,16 +56,11 @@ sort_key = current_sort_slug + '_sort' - if c.sort_by.startswith('-'): - c.repos_list = sorted(c.cached_repo_list, key=itemgetter(sort_key), - reverse=True) - else: - c.repos_list = sorted(c.cached_repo_list, key=itemgetter(sort_key), - reverse=False) + + c.repos_list = self.scm_model.get_repos(sort_key=sort_key) c.repo_cnt = len(c.repos_list) - c.groups = Group.query().filter(Group.group_parent_id == None).all() @@ -73,8 +68,9 @@ def repo_switcher(self): if request.is_xhr: - c.repos_list = sorted(c.cached_repo_list, - key=itemgetter('name_sort'), reverse=False) + all_repos = Repository.query().order_by(Repository.repo_name).all() + c.repos_list = self.scm_model.get_repos(all_repos, + sort_key='name_sort') return render('/repo_switcher_list.html') else: return HTTPBadRequest()