creating a simple podcast feed reader
podcasts are fun
I've started listening to a few podcasts in the past year or so. Originally I was just browsing to the podcast source on the web and listening in the browser, and sometimes downloading the artifact or copying the link to stream it via Audacious, my current favorite audio player (I have a custom steppenwolf winamp skin I use with it, the nostalgia is wonderful).
podcast clients
Lately, though I have wanted something a bit more unified. audacious
doesn't have the capabilities to parse an RSS feed and build a podcast playlist out of it. So I went looking for command line podcast clients. Castero is a cool TUI client but I couldn't get the UI to look decent with the limited options provided in the config file and it's written in python
, so I wanted something a little different.
I also tried Greg and Podget, neither of which really did it for me, needing too much configuration and still not getting me what I wanted in the end, which was the ability to simply parse the RSS feed into a playlist that a smart audio player could just stream the episodes over HTTP with.
Like every hacker before, contemporaneous with, and after me the thought occurred:
Just build it!
podlist
So I made podlist - a POSIX shell script in less than 10 lines that does the following:
- reads a list of feed URLs from a text file and downloads each one
- uses xmllint to find the episodes in the feed and isolates them with
sed
- dumps the address of each episode's audio file into a playlist file, streamable by
audacious
ormpv
I'm really stoked with how simple and elegant it turned out. You can give it a spin by cloning the zenUtils repo and just running the script. It does use the environment variable PODLIST_DATA_DIR
to figure out where your .feed
file is and where the m3u
files should be placed; if you don't set it, it uses your home directory.