Skip to content

Ichapod is a GPLv3 Plython 3 script designed to download and process podcasts in a headless environment. It handles filenames, tags, and even cover art.

License

Notifications You must be signed in to change notification settings

shikasta-net/Ichapod

 
 

Repository files navigation

Ichapod by Kym Eden, inspired by Patrick Simonds ([email protected])
---------------------------------------------------------------------
What is it?
-----------
This is a Python program intended to be run as a Cron job, or by hand as needed.
Quite simply, Ichapod downloads files from podcast feeds and formats them nicely.
By "nicely", I mean it outputs files with all the ID3 tags filled in, including
cover art (if supplied). The filenames are also very human readable, making it easier
to archive & organize podcasts.

Setup & Use
-----------
Docker and python have made set-up much simpler.  If you want to run without docker, simply use pip3 to install the requirements file.  Otherwise, docker will build the image with everything you need, and you can even pull a prebuilt image from my repository.
The program requires:
- a yaml file containing a list of podcasts (please see example _podcasts.yml_ file), and
- the output folder for the organised episodes and _.log_ folder.
Download history is tracked in an ordered text file _.download_record_, but files are not overwritten if they already exist.

This is largely incompatible with the previous versions, except for the podcast list which will be ingested and reformatted: the download record, logs, and file naming and tagging have all been changed.  The script will attempt to load an episode file with matching name if found, but the difference in internal tagging will likely cause an error.  These will be marked in the download log as already existing and skipped in subsequent runs, or you can use the --over-write flag if you wish to replace the files with newer tagged versions.

Testing
-------
Run `python3 -m nose`

History
-------
Much as the original author, I wanted to be able to listen to podcasts my way, when and how I chose.  I adapted the original Ichapod by putting in Docker to keep it working, made it more configurable and able to handle unicode more reliably, but eventually this became too much hassle when episodes started having titles containing the magic strings being used to unpack and parse episode structure; so I rewrote the whole concept in python.

About

Ichapod is a GPLv3 Plython 3 script designed to download and process podcasts in a headless environment. It handles filenames, tags, and even cover art.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 97.9%
  • Dockerfile 1.2%
  • Shell 0.9%