An add-on for Plone
Project description
This package add support to retrieve RSS feeds from external sources.
Usage
RSS proxy
There is a service “@get_rss_feed” that is used as proxy to call an RSS feed from backend and not from frontend to avoid CORS problems.
The service will reply with an “application/rss+xml” response with the desired feed.
Each feed url has a 10 minutes cache for his result to avoid too much requests.
You can call the endpoint passing a feed parameter like this example:
> curl -i http://localhost:8080/Plone/@get_rss_feed?feed=https://www.plone.org/RSS -H 'Accept: application/rss+xml'
RSS block
There is a service “@rss_mixer_data” that accept a list of sources and limit, and return a list of sorted feeds by date.
This service only accept POST calls and accept following parameters:
limit: the number of items to show (default 20)
feeds: a list of objects like this: {“url”: “url-of-the-feed”, “source”: “A custom label”}
For example:
> curl -i -X POST http://localhost:8080/Plone/@rss_mixer_data -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"limit":5, "feeds": [{"url": "url-of-the-feed", "source": "A custom label"}]}'
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.
Installation
Install redturtle.rssservice by adding it to your buildout:
[buildout] ... eggs = redturtle.rssservice
and then running bin/buildout
Contribute
Issue Tracker: https://github.com/RedTurtle/redturtle.rssservice/issues
Source Code: https://github.com/RedTurtle/redturtle.rssservice
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
RedTurtle, sviluppo@redturtle.it
Changelog
1.0.0 (2021-10-13)
Add @rss_mixer_data endpoint. [cekk]
0.1.0 (2020-04-08)
Initial release. [cekk]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for redturtle.rssservice-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 307bf85d9876f48dd278efee1895707bba4bbb60a9d9d7b27e3cba808c275e6a |
|
MD5 | 0dd081c8635020a9d326694f610716b8 |
|
BLAKE2b-256 | 9f9428f77e2bf45c90b5b9cb3070899e05c2902d0cef48487dba9e2783eaf84e |