##// END OF EJS Templates
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.

File last commit:

r245:a83a1799 default
r250:be4621c6 default
Show More
feed.py
59 lines | 2.3 KiB | text/x-python | PythonLexer
Added feed controllers, urls,and changed index page to use them.
r205 #!/usr/bin/python
# -*- coding: utf-8 -*-
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
from pylons_app.model.hg_model import _full_changelog_cached
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
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,
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,
revision=cs.raw_id, qualified=True),
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)
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')