├── .gitignore
├── Dockerfile
├── README.md
├── podsnatch.py
└── requirements.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | .python-version
2 | *.opml
3 |
4 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM python:3.7.6-slim-stretch
2 |
3 | WORKDIR /podsnatch
4 | ADD podsnatch.py /podsnatch
5 | ADD requirements.txt /podsnatch
6 |
7 | VOLUME ["/input", "/output"]
8 |
9 | RUN apt-get update && \
10 | apt-get install -y libxml2-dev libxslt-dev gcc && \
11 | pip install -r requirements.txt
12 |
13 | ENTRYPOINT ["python", "podsnatch.py"]
14 | CMD ["--opml", "/input.opml", "--output-dir", "/output"]
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PodSnatch
2 |
3 | PodSnatch is a simple[1](#footnote1), cross-platform
4 | [2](#footnote2) podcast downloader. Feed it an OPML file and wire it
5 | up to a cronjob, and it downloads your podcasts on your schedule. PodSnatch
6 | also downloads all the metadata for each episode, and stores it in a plaintext
7 | file with the same name as the episode audio, with `.txt` appended.
8 |
9 | 1: Only \~100 lines of Python!
10 |
11 | 2: *Probably*, I've only tested on Mac.
12 |
13 | ## Usage
14 | ```bash
15 | python podsnatch.py --opml -o