Cleaning up your Podcasts

May 9, 2007

I was running out of HD space again and for the heck of it checked how much space my downloaded podcasts were taking up - 1.9GB. This wasn’t that surprising, but I did notice there were media files of podcasts lying around that I had unsubscribed from a looong time ago. So I needed something that would do two things:

a) Delete all the podcasts I had already listened to b) Go through all the residue in the Podcast folder and delete whatever I had already unsubcribed from.

I subscribe to 14 shows so this wouldn’t have been much of an issue to do by hand, but I decided to use AppleScript. Here’s the script that does all that:

set podcastFolder to alias "hd:Users:filipp:Music:iTunes:iTunes Music:Podcasts:"

-- first get rid of played podcasts

tell application "iTunes"

  set deleteThese to every file track of playlist "Podcasts" whose unplayed is false

  set dontDelete to location of every file track of playlist "Podcasts" whose unplayed is true as list

  repeat with thisPodcast in deleteThese

    set thePath to (location of thisPodcast as string)

    delete thisPodcast

    tell application "Finder"

      move item thePath to the trash

    end tell

  end repeat

end tell

-- now comb the fs for any rogue shows

tell application "Finder"

  repeat with something in list folder podcastFolder without invisibles

    set fullpath to (podcastFolder as string) & something

    if dontDelete as string does not contain fullpath then

      move item fullpath to the trash

    end if

  end repeat

end tell

It’s not particularly clever or terse and turned out to be quite the overkill, but it works - my Podcasts take up 56 MB now. Plus I can safely check out all the shows I want and not worry about getting rid of them later (just drop the script into ~/Library/Scripts/iTunes). ;-) This could also be easaily improved to, for example, disregard shows that are unselected (if you have a played show that you really want to keep).

If you ask me, iTunes should just re-evaluate your “Keep” preference for podcasts every time you hit “Refresh”. That way you could clean things up anytime you like, without resorting to this kind of “violence”.