https://github.com/fliiiix/cron-podcast
Podcast fetcher written in python.
https://github.com/fliiiix/cron-podcast
cli cron podcast podcatcher python
Last synced: 12 months ago
JSON representation
Podcast fetcher written in python.
- Host: GitHub
- URL: https://github.com/fliiiix/cron-podcast
- Owner: fliiiix
- Created: 2015-05-28T19:01:28.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2019-03-23T15:52:54.000Z (over 7 years ago)
- Last Synced: 2025-07-11T15:32:59.902Z (12 months ago)
- Topics: cli, cron, podcast, podcatcher, python
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 7
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cron-podcast
Downloads your podcasts.
## Quickstart
1. install python (Tested with Python 3.7.2)
2. install virtualenv (probably something like `apt-get install python-virtualenv`)
3. clone this repo
4. create a virtualenv with `virtualenv env`
5. load it `. env/bin/activate`
6. install dependencies `pip install -r requirements.txt`
7. your done, run it `./podcatcher.py -f feedlist.conf -d /here/are/your/podcast/stored`
## Usage
```
Podcatcher 0.2.2
usage: podcatcher.py [-h] [-f FEED] [-d DOWNLOAD_DIR] [--version]
CLI podcast client.
optional arguments:
-h, --help show this help message and exit
-f FEED, --feed FEED A file where every feed url is listed.
-d DOWNLOAD_DIR, --download-dir DOWNLOAD_DIR
A directory where the files are saved.
--version The Podcatcher version.
```
## The config (feedlist.conf)
The configuration is really simple: just add for each podcast a new line with the feed url.
**Example feedlist.conf**
```
http://blog.binaergewitter.de/podcast_feed/all/mp3/atom.xml
http://feeds.feedburner.com/DieWrintheit
```
My Podcastlist can be found in this gist: [fliiiix/259bc74a40c9bf56cef7d9cb9b7441b5](https://gist.github.com/fliiiix/259bc74a40c9bf56cef7d9cb9b7441b5)
## Internals
### How to keep track what's downloaded
Each item should have a guid which is saved to `$podcastname/.guid_cache` where each line represents a
downloaded podcast. The format for it is `%Y_%m_%d %H:%M|GUID` the date is the download time.
To migrate from 0.1 to 0.2 or later just add `XXXX_XX_XX XX:XX|`.
This should do the trick.
```
for f in $(find . -name .guid_cache); do sed -i -e 's/^/XXXX_XX_XX XX:XX|/' $f; done
```