/pasjonsfrukt

🍹 Scrape PodMe podcast streams to mp3 and host with RSS feed. Requires a valid PodMe subscription for premium podcasts.

Primary LanguagePythonMIT LicenseMIT

🍹 pasjonsfrukt

PyPI PyPI - Python Version PyPI - License

Scrape PodMe podcast streams to mp3 and host with RSS feed.

Note: A valid PodMe subscription is required to access premium content

Setup

  1. Install pasjonsfrukt
pip install pasjonsfrukt
  1. Install ffmpeg

  2. Define harvest and feed configurations by copying config.template.yaml to your own config.yaml.
    Most importantly, you need to provide:

    • a host path (for links in the RSS feeds)
    • login credentials (auth) for your PodMe account
    • the podcasts you wish to harvest and serve

Usage

Harvest episodes

Harvest episodes of all podcasts defined in config

pasjonsfrukt harvest

Harvest episodes of specific podcast(s)

pasjonsfrukt harvest [PODCAST_SLUG]...
Update feeds

Update all RSS feeds defined in config

pasjonsfrukt sync

Update RSS feed of specific podcast

pasjonsfrukt sync [PODCAST_SLUG]...

The feeds are always updated after harvest, so manual feed syncing is only required if files are changed externally

Serve RSS feeds with episodes

Run web server

pasjonsfrukt serve

RSS feeds will be served at <host>/<podcast_slug>, while episode files are served at <host>/<podcast_slug>/<episode_id>

host must be defined in the config file.

Secret

If a secret has been defined in the config, a query parameter (?secret=<secret-string>) with matching secret string is required to access the served podcast feeds and episode files. This is useful for making RSS feeds accessible on the web, without making them fully public. Still, the confidentiality is provided as is, with no warranties 🙃

Development

Formatting

poe fmt

uses Black code formatter