Changeset - f420e86db893
[Not reviewed]
default
0 1 0
Marcin Kuzminski - 15 years ago 2010-09-27 03:13:05
marcin@python-works.com
drastic speed improvment in feed generation (was using old method)
1 file changed with 7 insertions and 8 deletions:
0 comments (0 inline, 0 general)
pylons_app/controllers/feed.py
Show inline comments
 
@@ -21,13 +21,13 @@
 
Created on April 23, 2010
 
feed controller for pylons
 
@author: marcink
 
"""
 
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__)
 

	
 
class FeedController(BaseController):
 
    
 
@@ -46,16 +46,15 @@ class FeedController(BaseController):
 
        feed = Atom1Feed(title=self.title % repo_name,
 
                         link=url('summary_home', repo_name=repo_name, qualified=True),
 
                         description=self.description % repo_name,
 
                         language=self.language,
 
                         ttl=self.ttl)
 
        
 
        changesets = HgModel().get_repo(repo_name)
 
        
 
        for cnt, cs in enumerate(_full_changelog_cached(repo_name)):
 
            if cnt > self.feed_nr:
 
                break
 
        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),
 
                                   description=str(cs.date))
 
        
 
        response.content_type = feed.mime_type
 
@@ -67,15 +66,15 @@ class FeedController(BaseController):
 
        feed = Rss201rev2Feed(title=self.title % repo_name,
 
                         link=url('summary_home', repo_name=repo_name, qualified=True),
 
                         description=self.description % repo_name,
 
                         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
 
        return feed.writeString('utf-8')
0 comments (0 inline, 0 general)