changeset 507:f420e86db893

drastic speed improvment in feed generation (was using old method)
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 27 Sep 2010 03:13:05 +0200
parents d5efb83590ef
children fdb78a140ae4
files pylons_app/controllers/feed.py
diffstat 1 files changed, 8 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/controllers/feed.py	Mon Sep 27 02:17:03 2010 +0200
+++ b/pylons_app/controllers/feed.py	Mon Sep 27 03:13:05 2010 +0200
@@ -24,7 +24,7 @@
 """
 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 @@
                          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 @@
                          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