Mercurial > public > src > rhodecode
comparison pylons_app/controllers/feed.py @ 245:a83a1799480c
Reimplemented way of caching repos list, hg model now get's repos objects right from cached dict, this way we skipp creating instances of MercurialRepository and gain performance. Some import cleanup
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 03 Jun 2010 00:04:48 +0200 |
parents | 8bdec09436cb |
children | 3782a6d698af |
comparison
equal
deleted
inserted
replaced
244:782f0692b29c | 245:a83a1799480c |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 from pylons import tmpl_context as c, url, response | |
4 from pylons_app.lib.base import BaseController, render | |
5 from pylons_app.model.hg_model import _full_changelog_cached | |
6 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed | |
3 import logging | 7 import logging |
4 from operator import itemgetter | |
5 from pylons import tmpl_context as c, request, config, url, response | |
6 from pylons_app.lib.base import BaseController, render, _full_changelog_cached | |
7 from pylons_app.lib.utils import get_repo_slug | |
8 from pylons_app.model.hg_model import HgModel | |
9 from pylons_app.lib.auth import LoginRequired | |
10 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed | |
11 log = logging.getLogger(__name__) | 8 log = logging.getLogger(__name__) |
12 | 9 |
13 class FeedController(BaseController): | 10 class FeedController(BaseController): |
14 | 11 |
15 #secure it or not ? | 12 #secure it or not ? |
33 | 30 |
34 for cnt, cs in enumerate(_full_changelog_cached(repo_name)): | 31 for cnt, cs in enumerate(_full_changelog_cached(repo_name)): |
35 if cnt > self.feed_nr: | 32 if cnt > self.feed_nr: |
36 break | 33 break |
37 feed.add_item(title=cs.message, | 34 feed.add_item(title=cs.message, |
38 link=url('changeset_home', repo_name=repo_name, revision=cs.raw_id, qualified=True), | 35 link=url('changeset_home', repo_name=repo_name, |
39 description=str(cs.date)) | 36 revision=cs.raw_id, qualified=True), |
37 description=str(cs.date)) | |
40 | 38 |
41 response.content_type = feed.mime_type | 39 response.content_type = feed.mime_type |
42 return feed.writeString('utf-8') | 40 return feed.writeString('utf-8') |
43 | 41 |
44 | 42 |