##// END OF EJS Templates
refactoring for new vcs implementation...
refactoring for new vcs implementation renamed all ._short and .raw_id into .short_id updated dependency for vcs to 0.1.6

File last commit:

r512:d945c95b default
r512:d945c95b default
Show More
feed.py
80 lines | 3.2 KiB | text/x-python | PythonLexer
licensing updates, code cleanups
r252 #!/usr/bin/env python
# encoding: utf-8
# feed controller for pylons
# Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com>
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2
# of the License or (at your opinion) any later version of the license.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
"""
Created on April 23, 2010
feed controller for pylons
@author: marcink
"""
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
r245 from pylons import tmpl_context as c, url, response
from pylons_app.lib.base import BaseController, render
drastic speed improvment in feed generation (was using old method)
r507 from pylons_app.model.hg_model import HgModel
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
r245 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
Added feed controllers, urls,and changed index page to use them.
r205 import logging
log = logging.getLogger(__name__)
class FeedController(BaseController):
#secure it or not ?
def __before__(self):
super(FeedController, self).__before__()
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 #common values for feeds
self.description = 'Changes on %s repository'
self.title = "%s feed"
self.language = 'en-us'
self.ttl = "5"
self.feed_nr = 10
def atom(self, repo_name):
"""Produce an atom-1.0 feed via feedgenerator module"""
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)
Added feed controllers, urls,and changed index page to use them.
r205
drastic speed improvment in feed generation (was using old method)
r507 changesets = HgModel().get_repo(repo_name)
for cs in changesets[:self.feed_nr]:
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 feed.add_item(title=cs.message,
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
r245 link=url('changeset_home', repo_name=repo_name,
refactoring for new vcs implementation...
r512 revision=cs.short_id, qualified=True),
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
r245 description=str(cs.date))
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207
response.content_type = feed.mime_type
return feed.writeString('utf-8')
Added feed controllers, urls,and changed index page to use them.
r205
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 def rss(self, repo_name):
"""Produce an rss2 feed via feedgenerator module"""
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)
drastic speed improvment in feed generation (was using old method)
r507 changesets = HgModel().get_repo(repo_name)
for cs in changesets[:self.feed_nr]:
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 feed.add_item(title=cs.message,
drastic speed improvment in feed generation (was using old method)
r507 link=url('changeset_home', repo_name=repo_name,
refactoring for new vcs implementation...
r512 revision=cs.short_id, qualified=True),
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 description=str(cs.date))
response.content_type = feed.mime_type
return feed.writeString('utf-8')