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
Resilience
To make the product more resilient against external feed disruptions, it is possible to use an external proxy/cache service. The service is utilized in the following format:
` http://proxyservice/http://feedurl `
The product includes a built-in proxy/cache implementation that can be used. After installing the product, you can use it by running the following process:
` bin/rssmixer-proxy --port 8000 --ttl 1200 `
And eventually set the environment variable RSSMIXER_PROXY to http://127.0.0.1:8000 according to the port used for the proxy.
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
2.2.2 (2026-10-05)
Fix proxycache url replace [mamico]
Refactor proxycache server: thread-safety, atomic writes, background thread deduplication, ThreadingHTTPServer, and anti-SSRF URL validation. [mamico]
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]
Metadata
Release files for redturtle.rssservice 2.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| redturtle_rssservice-2.2.2.tar.gz | 30.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redturtle_rssservice-2.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.1 kB
Release files / redturtle_rssservice-2.2.2.tar.gz
| Download URL | redturtle_rssservice-2.2.2.tar.gz |
|---|---|
| Size | 30.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
608ed3d12640bcf2117c0a514655de9b5a79f9daa29409f483078f34e022d20c
|
|
BLAKE2b-256 checksum How to use checksums |
c05bcac40a23ddc494db1bc0a82850861924c6b37729de6b72c3810b62702436
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Release files / redturtle_rssservice-2.2.2-py3-none-any.whl
| Download URL | redturtle_rssservice-2.2.2-py3-none-any.whl |
|---|---|
| Size | 26.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4d3da5f34d9dae5c4f46fb85523ad0e220c744d36217e36f13b8500f145c1d7
|
|
BLAKE2b-256 checksum How to use checksums |
d1f7c79530cb3e590de6ec37f08e97f1149cbe83e9bfccbd8a39493b7d244353
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|