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.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
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
File details
Details for the file redturtle.rssservice-1.0.3.tar.gz
.
File metadata
- Download URL: redturtle.rssservice-1.0.3.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.7.0 requests/2.25.1 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a984f36c933c9fd06f50d7e0fa802f8d3e82497927dfb94fa5250ab20a073954 |
|
MD5 | f67a601ea516a65323b44818b2d07db5 |
|
BLAKE2b-256 | 78fc1bdd48579d7606d5a42600b1ab2690f18fd2004c1fb6e08c865e6326006d |