Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

TurboGears controller and widgets for feed handling.

Project Description

Turbofeeds is a TurboGears 1 extension which provides support for generating RSS and Atom feeds and matching display widgets.

TurboFeeds was formerly the feed sub-package of the main TurboGears distribution. It was extracted from the TG core to ease updating, enhancing, and maintaining both projects.

TurboFeeds is mostly backwards-compatible with the turbogears.feed package, but has lots of fixes and a few new features, most importantly support for Genshi templates. It works with both the TurboGears 1.0 and the 1.1 branch.

Installation

To install TurboFeeds from the Cheeseshop use easy_install:

[sudo] easy_install TurboFeeds

This requires the setuptools package to be installed. If you have not done so already, download the ez_setup.py script and run it to install setuptools.

If you want to get the latest development version, you can check out the trunk from the Subversion repository with:

svn co http://svn.turbogears.org/projects/TurboFeeds/trunk TurboFeeds

For bug reports and feature requests, please go to the TurboGears trac at http://trac.turbogears.org/.

To open a ticket, you’ll need a trac account. Please select “TurboFeeds” as the ticket component.

Usage

Controller:

from turbogears import controllers, expose
from turbofeeds import FeedController, FeedHeadLinks, FeedLinks

class MyFeedController(FeedController):
    def get_feed_data(self, **kwargs):
        entries = []
        # Fill ``entries`` with dicts containing at least items for:
        #
        #   title, link, summary and published
        #
        # For example, supposing ``entry`` is a database object
        # representing a blog article:
        entries.append(dict(
            title = entry.title,
            author = dict(name = entry.author.display_name,
                email = entry.author.email_address),
            summary = entry.post[:30],
            published = entry.published,
            updated = entry.updated or entry.published,
            link = 'http://blog.foo.org/article/%s' % entry.id
        ))
        return dict(entries=entries)

class Root(controllers.RootController):
    feed = MyFeedController(
        base_url = '/feed',
        title = "my fine blog",
        link = "http://blog.foo.org",
        author = dict(name="John Doe", email="john@foo.org"),
        id = "http://blog.foo.org",
        subtitle = "a blog about turbogears"
    )
    feedlheadinks = FeedHeadLinks(controller=feed)
    feedlinks = FeedLinks(controller=feed,
        title = "Click link to access the feed in %(type)s format")

    @expose('.templates.mypage')
    def mypage(self):
        return dict(
            feedheadlinks=self.feedheadlinks,
            feedlinks=self.feedlinks)

Template:

<head>
  ${feadheadlinks()}
  ...
</head>
<body>
  <h2>Feed links</h2>
  ${feedlinks('%(type)s feed', url_params=dict(format='full'))}
  ...
</body>

Documentation

The TurboFeeds source is thoroughly documented with doc strings. The source distribution comes with epydoc-generated API documentation included.

You can also refer to the documentation for the original turbogears.feed package on the TurboGears documentation wiki:

http://docs.turbogears.org/1.0/FeedController

All information on this page is also still valid for TurboFeeds, you just have to replace:

from turbogears.feed import FeedController

with:

from turbofeeds import FeedController

Credits

  • The turbogears.feed package was first introduced in TurboGears version 0.9a1 and was added by Elvelind Grandin.

  • Christopher Arndt turned it into the TurboGears extension TurboFeeds.

  • Other contributors include:

    Florent Aide, Simon Belak, Kevin Dangoor, Charles Duffy, Alberto Valverde, Jorge Vargas

    Please notify the maintainer, if you think your name should belong here too.

  • The feed icons used by the CSS for the FeedLinks widget where taken from http://www.feedicons.com/.

Release History

Release History

This version
History Node

0.2b

History Node

0.1b

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
TurboFeeds-0.2b-py2.5.egg (34.6 kB) Copy SHA256 Checksum SHA256 2.5 Egg Sep 27, 2009
TurboFeeds-0.2b.tar.bz2 (52.2 kB) Copy SHA256 Checksum SHA256 Source Sep 27, 2009
TurboFeeds-0.2b.zip (140.4 kB) Copy SHA256 Checksum SHA256 Source Sep 27, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting