getrmp.py

This is a small Python script I wrote to download files listed in an RMP file (an XML file which describes how to download music files from a server). I wrote this so I could use the "Download Entire Album" option on emusic.com. It won't help you pirate music or anything like that. Hopefully someone else will find it useful. I've only used it in Linux, but there's no reason it shouldn't work on anything that has a command line and supports Python. It's available under the GPL.

There is a specification for the RMP file format, but I have not read it very carefully. I just wrote a script that happens to work with Emusic. It might even work with other RMP files. If it doesn't, I'd be interested in hearing about it. Actually, I already had to fix one of the creative liberties taken by the emusic team, namely that "&" is not supposed to occur in XML files but does in theirs.

It's pretty simple to use. You run it like
./getrmp.py myrmpfile1.rmp myrmpfile2.rmp myrmpfile3.rmp
and it will go on its merry way, downloading all of the files, printing progress reports. It creates a directory with the name of the album and puts all of the files in there. It has a little bit of error handling, but it should be enough.

It requires the PyXML package. This comes with Python 2.0 and up (I think) and must be downloaded separately for Python 1.5.

Anyway, here is the file. Here is a compressed version.


Andrew Hughes Chatham
Last modified: Sat Aug 3 12:31:05 PDT 2002