aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2010-09-27 03:13:05 +0200
committerMarcin Kuzminski <marcin@python-works.com>2010-09-27 03:13:05 +0200
commit1226cf584c34ff3cb2ed1ea583fd46ab3f9ca62d (patch)
tree1275d1e3a876fdaa70d0f8c0a4bbc159f7d4c7c9
parentd0b2ac989ea76714d1a76fdcb08d478b597d251d (diff)
drastic speed improvment in feed generation (was using old method)
-rw-r--r--pylons_app/controllers/feed.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/pylons_app/controllers/feed.py b/pylons_app/controllers/feed.py
index 31f19695..5de22721 100644
--- a/pylons_app/controllers/feed.py
+++ b/pylons_app/controllers/feed.py
@@ -24,7 +24,7 @@ feed controller for pylons
"""
from pylons import tmpl_context as c, url, response
from pylons_app.lib.base import BaseController, render
-from pylons_app.model.hg_model import _full_changelog_cached
+from pylons_app.model.hg_model import HgModel
from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
import logging
log = logging.getLogger(__name__)
@@ -49,10 +49,9 @@ class FeedController(BaseController):
language=self.language,
ttl=self.ttl)
-
- for cnt, cs in enumerate(_full_changelog_cached(repo_name)):
- if cnt > self.feed_nr:
- break
+ changesets = HgModel().get_repo(repo_name)
+
+ for cs in changesets[:self.feed_nr]:
feed.add_item(title=cs.message,
link=url('changeset_home', repo_name=repo_name,
revision=cs.raw_id, qualified=True),
@@ -70,11 +69,11 @@ class FeedController(BaseController):
language=self.language,
ttl=self.ttl)
- for cnt, cs in enumerate(_full_changelog_cached(repo_name)):
- if cnt > self.feed_nr:
- break
+ changesets = HgModel().get_repo(repo_name)
+ for cs in changesets[:self.feed_nr]:
feed.add_item(title=cs.message,
- link=url('changeset_home', repo_name=repo_name, revision=cs.raw_id, qualified=True),
+ link=url('changeset_home', repo_name=repo_name,
+ revision=cs.raw_id, qualified=True),
description=str(cs.date))
response.content_type = feed.mime_type