Python Script for Podcast Publishing

I engage in a series of repetitive tasks whenever I produce and publish a podcast episode. At one point in time, I had a little bash script that automated some of the process, but it eventually broke down when some system software updated, and I never got around to fixing it. The system could (and should) have been better anyway.

Ideally, I could minimize all of the steps involved, such that I never had to do the same piece of work twice. Think of a podcast title. Effectively, I have to type (or copy and paste) that thing out three times: one in the WordPress post, another time in the ID3 tag, and a third time on LibSyn (our podcast host). It’s ridiculous.

I envision a workflow in which I do that once. More than that, once I have a completed mp3 file, I just execute a script and it automatically tags the ID3 tag, uploads it to a host, and schedules the WordPress post with all the necessary information, metadata, and media.

A well-designed Python script can certainly do most of this. It can interface with a CLI for the ID3 tag. It can upload the file via FTP. With the addition of a WordPress REST-API, it can do even more, reading and writing data from and to WordPress.. The current hangup is Libsyn. I haven’t been able to find an API for them. We could move the podcast hosting to Amazon, but it would cost much more than $5/month.

But I may be thinking too small-scale. I’m certain many podcasters have similar issues. A highly configurable web or desktop app might be a better solution. It could allow users to configure all their services and provide for a streamlined podcasting solution.

About the Author

Camden Bucey

Camden Bucey

3 comments on “Python Script for Podcast Publishing

  • July 23, 2016 at 6:07 pm
    Mark Goddard

    This is something I could definitely help with. Python would probably be a convenient language to develop such a script in.

  • July 29, 2016 at 8:19 pm
    Tim Black

    If LibSyn’s interface is a website, you can use a GUI driver like Selenium to interface with it, and it’s possible to run Selenium in a headless browser so it doesn’t interfere with your work.

  • August 1, 2016 at 8:35 pm

    Should be able to hack something together with Python’s urrlib2 library for the LibSyn stuff. If you can run a Wireshark capture during the process and post the PCAP, should be able to see what’s doing when it talks to LibSyn and replicate it on the Python side.


Leave a Reply

Your email address will not be published. Required fields are marked *