Mercurial > kallithea
comparison 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 |
comparison
equal
deleted
inserted
replaced
1044:f3402cb92fdf | 1045:3fc9183e05dd |
---|---|
25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | 25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
26 # MA 02110-1301, USA. | 26 # MA 02110-1301, USA. |
27 | 27 |
28 import logging | 28 import logging |
29 | 29 |
30 from pylons import url, response | 30 from pylons import url, response, tmpl_context as c |
31 from pylons.i18n.translation import _ | 31 from pylons.i18n.translation import _ |
32 | 32 |
33 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator | 33 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
34 from rhodecode.lib.base import BaseController | 34 from rhodecode.lib.base import BaseRepoController |
35 from rhodecode.model.scm import ScmModel | |
36 | 35 |
37 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed | 36 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed |
38 | 37 |
39 log = logging.getLogger(__name__) | 38 log = logging.getLogger(__name__) |
40 | 39 |
41 class FeedController(BaseController): | 40 class FeedController(BaseRepoController): |
42 | 41 |
43 @LoginRequired() | 42 @LoginRequired() |
44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', | 43 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', |
45 'repository.admin') | 44 'repository.admin') |
46 def __before__(self): | 45 def __before__(self): |
58 link=url('summary_home', repo_name=repo_name, qualified=True), | 57 link=url('summary_home', repo_name=repo_name, qualified=True), |
59 description=self.description % repo_name, | 58 description=self.description % repo_name, |
60 language=self.language, | 59 language=self.language, |
61 ttl=self.ttl) | 60 ttl=self.ttl) |
62 | 61 |
63 repo, dbrepo = ScmModel().get(repo_name, retval='repo') | 62 for cs in c.rhodecode_repo[:self.feed_nr]: |
64 | |
65 for cs in repo[:self.feed_nr]: | |
66 feed.add_item(title=cs.message, | 63 feed.add_item(title=cs.message, |
67 link=url('changeset_home', repo_name=repo_name, | 64 link=url('changeset_home', repo_name=repo_name, |
68 revision=cs.raw_id, qualified=True), | 65 revision=cs.raw_id, qualified=True), |
69 description=str(cs.date)) | 66 description=str(cs.date)) |
70 | 67 |
78 link=url('summary_home', repo_name=repo_name, qualified=True), | 75 link=url('summary_home', repo_name=repo_name, qualified=True), |
79 description=self.description % repo_name, | 76 description=self.description % repo_name, |
80 language=self.language, | 77 language=self.language, |
81 ttl=self.ttl) | 78 ttl=self.ttl) |
82 | 79 |
83 repo, dbrepo = ScmModel().get(repo_name, retval='repo') | 80 for cs in c.rhodecode_repo[:self.feed_nr]: |
84 for cs in repo[:self.feed_nr]: | |
85 feed.add_item(title=cs.message, | 81 feed.add_item(title=cs.message, |
86 link=url('changeset_home', repo_name=repo_name, | 82 link=url('changeset_home', repo_name=repo_name, |
87 revision=cs.raw_id, qualified=True), | 83 revision=cs.raw_id, qualified=True), |
88 description=str(cs.date)) | 84 description=str(cs.date)) |
89 | 85 |