##// END OF EJS Templates
rewritten db manage script to use sqlalchemy. Fixed sqlalchemy models to more generic.
rewritten db manage script to use sqlalchemy. Fixed sqlalchemy models to more generic.

File last commit:

r207:8bdec094 rhodecode-0.0.0.7.1 default
r226:c6526b75 default
Show More
feed.py
61 lines | 2.4 KiB | text/x-python | PythonLexer
Added feed controllers, urls,and changed index page to use them.
r205 #!/usr/bin/python
# -*- coding: utf-8 -*-
import logging
from operator import itemgetter
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 from pylons import tmpl_context as c, request, config, url, response
from pylons_app.lib.base import BaseController, render, _full_changelog_cached
Added feed controllers, urls,and changed index page to use them.
r205 from pylons_app.lib.utils import get_repo_slug
from pylons_app.model.hg_model import HgModel
from pylons_app.lib.auth import LoginRequired
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 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
Added feed controllers, urls,and changed index page to use them.
r205 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
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
for cnt, cs in enumerate(_full_changelog_cached(repo_name)):
if cnt > self.feed_nr:
break
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
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)
for cnt, cs in enumerate(_full_changelog_cached(repo_name)):
if cnt > self.feed_nr:
break
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
return feed.writeString('utf-8')