diff rhodecode/controllers/feed.py @ 1045:3fc9183e05dd beta

another major codes rewrite: - created BaseRepo controller for all repo specific controller, and added common data propagation - removed obosete codes, and made optimizations, removed to often calls to RepoModel - fixed found bugs in files controller that generated unhandled 500 errors - cache issues - removed repo_branches global template values - journal fixes - main repo list is fully dict now it's less resource heavy that way
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 15 Feb 2011 01:36:07 +0100
parents 5554aa9c2480
children fee472613dfa
line wrap: on
line diff
--- a/rhodecode/controllers/feed.py	Mon Feb 14 16:43:57 2011 +0100
+++ b/rhodecode/controllers/feed.py	Tue Feb 15 01:36:07 2011 +0100
@@ -27,18 +27,17 @@
 
 import logging
 
-from pylons import url, response
+from pylons import url, response, tmpl_context as c
 from pylons.i18n.translation import _
 
 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
-from rhodecode.lib.base import BaseController
-from rhodecode.model.scm import ScmModel
+from rhodecode.lib.base import BaseRepoController
 
 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
 
 log = logging.getLogger(__name__)
 
-class FeedController(BaseController):
+class FeedController(BaseRepoController):
 
     @LoginRequired()
     @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
@@ -60,9 +59,7 @@
                          language=self.language,
                          ttl=self.ttl)
 
-        repo, dbrepo = ScmModel().get(repo_name, retval='repo')
-
-        for cs in repo[:self.feed_nr]:
+        for cs in c.rhodecode_repo[:self.feed_nr]:
             feed.add_item(title=cs.message,
                           link=url('changeset_home', repo_name=repo_name,
                                    revision=cs.raw_id, qualified=True),
@@ -80,8 +77,7 @@
                          language=self.language,
                          ttl=self.ttl)
 
-        repo, dbrepo = ScmModel().get(repo_name, retval='repo')
-        for cs in repo[:self.feed_nr]:
+        for cs in c.rhodecode_repo[:self.feed_nr]:
             feed.add_item(title=cs.message,
                           link=url('changeset_home', repo_name=repo_name,
                                    revision=cs.raw_id, qualified=True),