python, threading and a radio timer

Renato renato.serodio at gmail.com
Mon Oct 30 21:24:01 EST 2006


Dear all,

I found this nifty article on how to record your favourite radio show
using cron and mplayer:
http://grimthing.com/archives/2004/05/20/recording-streaming-audio-with-mplayer/

Because I couldn't get the date in the filename (and was too lazy to
look into sh/bash manuals), I decided to use Python. It was a good
choice, because I decided to improve the timer - learning some more
Python along the way!

So, the idea is:
- cron runs the script at a specific time
- the script starts mplayer, and will keep checking the clock until
it's time to kill mplayer
- after mplayer has exited, oggenc is started to turn the raw WAV into
ogg
- and finally the remaining WAV is deleted

This basic setting is quite easy, and I used os.spawnvp(os.P_WAIT,...),
along with another CRON entry to kill mplayer.

But then I got more ambitious: I wanted the script to keep checking if
mplayer was alive - in case the connection goes down. Moreover, I would
rather have the script stop mplayer than cron.

At this point, I thought I should get some professional help... :) What
is the right way to go? Would threads be overkill? If so, where can I
go about looking for process control/management without delving into
complex daemon architectures?

So, rather than asking for code, I'm looking for guidance - this is a
didactic experience!

Cheers,

Renato




More information about the Python-list mailing list