Skip to main content

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

Project details


Download files

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

Source Distributions

TurboFeeds-0.2b.zip (140.4 kB view details)

Uploaded Source

TurboFeeds-0.2b.tar.bz2 (52.2 kB view details)

Uploaded Source

Built Distribution

TurboFeeds-0.2b-py2.5.egg (34.6 kB view details)

Uploaded Source

File details

Details for the file TurboFeeds-0.2b.zip.

File metadata

  • Download URL: TurboFeeds-0.2b.zip
  • Upload date:
  • Size: 140.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for TurboFeeds-0.2b.zip
Algorithm Hash digest
SHA256 53c677ff7d4523dcf69f997132fd129185ff7173b4b0a592c3c0ec598dce2ee0
MD5 8dcf7423f3b9dbcd19ba5da731f1ece3
BLAKE2b-256 6ef50cc9e10a58eeae16a01d01aaef1d5c5047b1ce236db7b5e64d25c7fc5a36

See more details on using hashes here.

Provenance

File details

Details for the file TurboFeeds-0.2b.tar.bz2.

File metadata

  • Download URL: TurboFeeds-0.2b.tar.bz2
  • Upload date:
  • Size: 52.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for TurboFeeds-0.2b.tar.bz2
Algorithm Hash digest
SHA256 92d7cc2e48f130131b73f04a1084fb87ad0a17a746d74c45c5924404a9634780
MD5 7e541fe17c70518de9129d1768d0f566
BLAKE2b-256 1fd9b9e049243ed7e50cc5c527680acec853820a32737f4a0a131acad182ed3e

See more details on using hashes here.

Provenance

File details

Details for the file TurboFeeds-0.2b-py2.5.egg.

File metadata

File hashes

Hashes for TurboFeeds-0.2b-py2.5.egg
Algorithm Hash digest
SHA256 34d1b0238cce0f6f2d91c5928301e987de8f9e4419e3912300b7170ea195f2f8
MD5 cd1eafd8949d6f0f41c25d0b03dff76a
BLAKE2b-256 d0f28584546630b4e7ca0b46c2c2f4cf10f3bd2a55b140c3622c38621533642f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page