Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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/.

Metadata

Release files for TurboFeeds 0.2b

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distributions (sdists)

Source distribution for TurboFeeds 0.2b
File Size Uploaded
TurboFeeds-0.2b.zip 140.4 kB Details
TurboFeeds-0.2b.tar.bz2 52.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TurboFeeds 0.2b
File Interpreter ABI Platform
TurboFeeds-0.2b-py2.5.egg Legacy Egg format - - Details

Total release size: 227.2 kB

Release files / TurboFeeds-0.2b.zip

Download URL TurboFeeds-0.2b.zip
Size 140.4 kB
Tags Source
SHA-256 checksum
How to use checksums
53c677ff7d4523dcf69f997132fd129185ff7173b4b0a592c3c0ec598dce2ee0
BLAKE2b-256 checksum
How to use checksums
6ef50cc9e10a58eeae16a01d01aaef1d5c5047b1ce236db7b5e64d25c7fc5a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / TurboFeeds-0.2b.tar.bz2

Download URL TurboFeeds-0.2b.tar.bz2
Size 52.2 kB
Tags Source
SHA-256 checksum
How to use checksums
92d7cc2e48f130131b73f04a1084fb87ad0a17a746d74c45c5924404a9634780
BLAKE2b-256 checksum
How to use checksums
1fd9b9e049243ed7e50cc5c527680acec853820a32737f4a0a131acad182ed3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / TurboFeeds-0.2b-py2.5.egg

Download URL TurboFeeds-0.2b-py2.5.egg
Size 34.6 kB
Tags Egg
SHA-256 checksum
How to use checksums
34d1b0238cce0f6f2d91c5928301e987de8f9e4419e3912300b7170ea195f2f8
BLAKE2b-256 checksum
How to use checksums
d0f28584546630b4e7ca0b46c2c2f4cf10f3bd2a55b140c3622c38621533642f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2b This release

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page