In my attempt to keep up on podcasts I finally gave up with Miro and found a great shell script called BashPodder. This is a very simple script that keeps all of your podcasts up to date with very little effort. It was missing a few features that I wanted, so I updated the script and am now releasing it to the general public under the GPL.
Basic Operation
The first step is to list each of your podcast’s RSS feeds you want downloaded in bp.conf. I’ve left a few in there so that you can test out the script with known working feeds.
This next step is optional, but recommended. Run refresh.sh from the command line. This script will update all of the rss feeds without downloading any of the content. It is a way to only download the latest podcasts in the future. If you follow over 100 podcasts like myself this is really a necessary step. Downloading the last 10 items in 100 feeds will take days, I tried and finally gave up and wrote this portion of the script.
To run the actual download script all you need to do is run bashpodder_reloaded.sh and let it do its job. If you ran refresh.sh then nothing will be downloaded here. You may want to edit podcast.log so that it will download a podcast.
This script is designed to run via a cronjob and will update at any interval that you prefer. I’ve got the script running in 15 minute intervals and it seems to be the ideal time. Much quicker and you risk the script overwriting the log files.
A few Warnings
This does require wget which is not included with OS X by default. You can either install it through MacPorts or install the source yourself. Installing the source is probably the simpilest solution (./configure && make && sudo make install) if you do not already have MacPorts installed on your system.
The script is designed to be threaded. This means that it will download every single item in every single feed at the same time. I had my system lock up multiple times while working on this script do to a few thousand wget processes being created. When ran correctly it should work rather smoothly, but if there is a ton of content to download you may feel some latency in your network connection.
I have not tested this script on any OS besides OS X 10.5.2 and can not guarantee that it will work. There is nothing in the script that should prevent it from functioning on any *NIX system, but it has not been tested at this point in time.
Feedback
I always welcome feedback. If the script does not work for you or would like to see additional features please leave a comment and let me know.




