noesterle / podsnatch

Simple podcast downloader

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PodSnatch

PodSnatch is a simple1, cross-platform 2 podcast downloader. Feed it an OPML file and wire it up to a cronjob, and it downloads your podcasts on your schedule. PodSnatch also downloads all the metadata for each episode, and stores it in a plaintext file with the same name as the episode audio, with .txt appended.

1: Only ~100 lines of Python!

2: Probably, this has only been tested on Mac and Linux (Pop!_os 22.04).

Usage

Python

python podsnatch.py --opml <input file> -o <output directory>

Pipenv

You can also use Python Pipenv to create and use virtual environments to keep your Python installation clean. Once pip is installed, run the following command to install pipenv:

pip install pipenv

Once pipenv is installed, install the required packages from Pipfile.lock:

pipenv sync

To install newer versions of packages, edit Pipfile to the desired version then run:

pipenv update

To run the podsnatch.py script, run:

pipenv run python podsnatch.py --opml <input file> -o <output directory>

The requirements.txt can be updated based on what's in Pipefile by running:

pipenv requirements > requirements.txt

Docker

If you don't want to deal with all the python setup crap (and I don't blame you) you can build the docker container and run with

docker run -it -v '/path/to/opml.opml:/input.opml' -v '/path/to/output_dir:/output' podsnatch

Contributing

PRs welcone!

About

Simple podcast downloader


Languages

Language:Python 95.5%Language:Dockerfile 4.5%