pod_feeder_v2
Publishes RSS/Atom feeds to Diaspora*
This is a lightweight, customizable "bot" script to harvest RSS/Atom feeds and re-publish them to the Diaspora social network. It is posted here without warranty, for public use.
v2 is a complete re-write of the original pod_feeder script which was written (poorly) in perl and is no longer supported. Migrating to this version is recommended.
Installation
pod_feeder_v2 requires python3. You can easily install the dependencies with pip:
System-wide
sudo pip3 install pod-feeder-v2
Individual user
pip3 install --user pod-feeder-v2
When installing as a non-privilegd user, make sure you have ~/.local/bin in your $PATH
Migrating from pod_feeder "classic"
-
pod_feeder_v2's database schema is backward-compatible with the original, so you can point the script at your existing
feed.dbfile (or whatever yours is called). -
The
--title-tagsand--url-tagsarguments have not been carried forward because in practice they generally create lots of spurious tags, and the 'stop words' feature is difficult to implement.--user-agentis not currently implemented because the feedparser library does not support it. -
Several new options,
--summary,--debug, and--quiethave been added.
Usage
This script is intended to be run as a cron job, which might look something like this:
@hourly pod-feeder --feed-id myfeed --feed-url http://example.com/feeds/rss --pod-url https://diaspora.example.com --username user --password ******** --quiet
There is also a database cleaner script that you can run as often as you like to keep your database size under control:
@weekly pf-clean-db feed.db > /dev/null 2>&1
usage: pod-feeder [-h] [--aspect-id ASPECT_ID] [--auto-tag AUTO_TAG]
[--category-tags] [--database DATABASE] [--embed-image]
--feed-id FEED_ID --feed-url FEED_URL
[--ignore-tag IGNORE_TAG] [--limit LIMIT] [--no-branding]
--pod-url POD_URL [--post-raw-link] [--timeout TIMEOUT]
[--username USERNAME] [--via VIA] [--summary | --full]
(--password PASSWORD | --fetch-only) [--debug | --quiet]
optional arguments:
-h, --help show this help message and exit
--aspect-id ASPECT_ID
Numerical aspect ID to share with. May be specified
multiple times (default: 'public')
--auto-tag AUTO_TAG Hashtags to add to all posts. May be specified
multiple times
--category-tags Automatically hashtagify RSS item 'categories' if any
--database DATABASE The file to store feed data (default: 'feed.db')
--embed-image Embed an image in the post if a link exists
--feed-id FEED_ID An arbitrary label for this feed
--feed-url FEED_URL The feed URL
--ignore-tag IGNORE_TAG
Hashtag to filter out. May be specified multiple times
--limit LIMIT Only post n items per script run, to prevent post-
spamming
--no-branding Do not include 'via pod_feeder_v2' footer to posts
--pod-url POD_URL The pod URL
--post-raw-link Post the raw link instead of hyperlinking the article
title
--timeout TIMEOUT How many hours to keep re-trying failed posts (default
72)
--username USERNAME The D* login username
--via VIA Sets the 'posted via' footer text (default:
'pod_feeder_v2')
--summary Post the summary text of the feed item
--full, --body Post the full text of the feed item
--password PASSWORD The D* user password
--fetch-only Don't publish to Diaspora, queue the new feed items
for later
--debug Show debugging output
--quiet Suppress normal output
A Note on YouTube Feeds
It is possible to publish a YouTube channel's feed, by using the following URL format:
https://www.youtube.com/feeds/videos.xml?channel_id=<channel id>
Metadata
Release files for pod-feeder-v2 1.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pod_feeder_v2-1.0.9.tar.gz | 13.6 kB | Without provenance | Details for pod_feeder_v2-1.0.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pod_feeder_v2-1.0.9-py3-none-any.whl | Python 3 | none | any | Details for pod_feeder_v2-1.0.9-py3-none-any.whl |
Total release size: 27.1 kB
Release files / pod_feeder_v2-1.0.9.tar.gz
| Download URL | pod_feeder_v2-1.0.9.tar.gz |
|---|---|
| Size | 13.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1dbf6cdc0f02b8fc4ca9b6a4831c4410a09a247a240ec461cb104590db12e3af
|
|
BLAKE2b-256 checksum How to use checksums |
d4252cb27e24d2376b718d7fba6c56d3849dbf4a2e069c49dd55fa947bcafd7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.20
|
Release files / pod_feeder_v2-1.0.9-py3-none-any.whl
| Download URL | pod_feeder_v2-1.0.9-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf0184cf89ddb42f9a88a298986d94bf795a25e084d5ec385dd4d7444f95df3c
|
|
BLAKE2b-256 checksum How to use checksums |
92b512a0edb005f176de60e7ba5af81cba4c0426a164cbdff0f2bd3729358800
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.20
|
Security for pod-feeder-v2 1.0.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.