Skip to main content

An add-on for Plone

Project description

Latest Version Supported - Python Versions Number of PyPI downloads License Tests Coverage

Redturtle RSS Service

This package add support to retrieve RSS feeds from external sources.

Usage

RSS block

There is a service “@rss_mixer_data” that accept a block id, and return a list of sorted feeds by date.

This service only accept GET calls and accept following parameters:

  • block: the id of the rssBlock with the feeds

The endpoint should be called on the context that has the rssBlock that you want to show.

For example:

> curl -i -X GET http://localhost:8080/Plone/example-page/@rss_mixer_data?block=123456789 -H 'Accept: application/json' -H 'Content-Type: application/json'

Will reply with something like this:

[
    {
        "source": "Foo site",
        "contentSnippet": "some description 2",
        "title": "Foo News 2",
        "date": "Thu, 1 Apr 2020 10:44:01 +0200",
        "url": "http://test.com/foo-news-2"
    },
    {
        "source": "",
        "contentSnippet": "some description 2",
        "title": "Bar News 2",
        "date": "Thu, 1 Apr 2020 10:44:01 +0200",
        "url": "http://test.com/bar-news-2"
    },
    {
        "source": "Foo site",
        "contentSnippet": "some description",
        "title": "Foo News 1",
        "date": "Thu, 2 Apr 2020 10:44:01 +0200",
        "url": "http://test.com/foo-news-1"
    },
    {
        "source": "",
        "contentSnippet": "some description",
        "title": "Bar News 1",
        "date": "Thu, 2 Apr 2020 10:44:01 +0200",
        "url": "http://test.com/bar-news-1"
    }
]

This endpoint works with volto-rss-block plugin.

Retrieve timeout

There is a 5s default timeout for retrieve RSS feeds.

You can override it with an environment variable: RSS_SERVICE_TIMEOUT

Set User-Agent

You can override the default User-Agent for the requests to get feeds by setting an environment variable: RSS_USER_AGENT

Installation

Install redturtle.rssservice by adding it to your buildout:

[buildout]

...

eggs =
    redturtle.rssservice

and then running bin/buildout

Contribute

Support

If you are having issues, please let us know. We have a mailing list located at: sviluppo@redturtle.it

License

The project is licensed under the GPLv2.

Contributors

Changelog

2.2.1 (2023-07-12)

  • Handle case when feed url is an internal url with resolveuid. [cekk]

  • Do not print exception on log, but use warning because it’s handled. [cekk]

2.2.0 (2023-03-21)

  • Allow configuring the User-Agent for the requests to get feeds, via the REQUESTS_USER_AGENT environment variable. [davisagli]

2.1.0 (2023-03-10)

  • Customizable timeout. [cekk]

  • Return 404 if block not found instead BadRequest. [cekk]

  • Handle site root blocks in plone 6. [cekk]

2.0.0 (2022-04-07)

  • Remove unused and unsafe endpoint. [cekk]

  • Now @rss_mixer_data accept GET calls (see README for more infos). [cekk]

1.0.3 (2022-03-22)

  • Allow to use cateogry in rss feed. [lucabel]

1.0.2 (2022-03-04)

  • Allow dates with wrong date format (eg. a date range) [lucabel]

1.0.1 (2021-12-02)

  • Fix python version in setup.py [cekk]

1.0.0 (2021-10-13)

  • Add @rss_mixer_data endpoint. [cekk]

0.1.0 (2020-04-08)

  • Initial release. [cekk]

Project details


Download files

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

Source Distribution

redturtle.rssservice-2.2.1.tar.gz (24.9 kB view hashes)

Uploaded Source

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