Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

April 4, 2009

Quod Libet: First Day

Some thoughts/observations so far:
  • I'm enjoying the automatic rating plugin, and expect it will be very useful in filtering out the detritus from my CBC Radio 3 crawls - just listen on shuffle for a while, then drop the worst-rated files.
  • The default rating settings are weird - 4 notes? Usually 5 or 10 is standard.
  • I haven't found a way to properly refresh the library without restarting - newly downloaded songs don't show up. Not a deal breaker, but annoying nonetheless.
  • Relatively seamless transitions between songs. I like. Also, the interface is snappy in general - no slowdown when I rescan the watch directories, no strange loading pauses.
  • The built-in config GUI hides most options from me. Why? Is it that hard to provide an advanced settings toggle?
  • The Amazon album-cover-grabbing plugin is barfing on me with some expat errors. Not cool. (As an aside: there's a bewildering proliferation of XML-parsing libraries for Python. It's no wonder that the Python standard library has taken the "here's some reasonable defaults, plug your own in if you want" route.)
Overall, it's a positive first impression - most things work as they should, save for some minor gripes with plugins and general style.

Scripted Reality

As promised, here are the scripts.

April 3, 2009

The Sound of Scraping

After sitting on my CBC Radio 3 metadata for just over a week, I finally got around to throwing together a decent downloading script. Actually, the scraper/downloader is a loose federation of scripts, deliberately kept in separate modules so as to allow nice things like, say, running multiple copies thereof concurrently. I'll post a link to the source in the near future, along with a few words of explanation. Maybe I'll even write a README - after all, although CBC Radio 3 is afloat for now, there's no telling how long it will survive the budget axes of doom.

(And, to prevent the inevitable smartasses from chiming in with "you forgot wget, n00b" - nope, it's in there somewhere. That said, I think you'll find these scripts go a tiny bit further...)

March 26, 2009

And the total is...

76302. Of course, this is just the metadata - I wouldn't be so reckless as to hammer the CBC Radio 3 servers with 200 GB worth of download requests in a day! (Nor would my bandwidth permit me to suck down that much data in anything less than a couple of weeks. Oh well.) Next up: filter it down to a list of songs that I might actually want.

2017 Songs and Counting

Your guess as to what this does:

#!/bin/bash
for i in `seq 0 25`; do
echo "http://radio3.cbc.ca/nmc/artists.aspx?offset=${i}"
done | tee -a artists.log |\
./url-dumper 1.0 |\
egrep -o "/bands/[^\"]*" | uniq |
while read line; do
b=`basename "$line"`
echo "/play/band/${b}"
done | uniq | tee -a bands.log | ./cbc3-get-music-info 1.0

(Yes, I've left out some details - like what exactly those scripts do under the covers. I'll post about that when it's finished!)

Better make that 3156 songs. And counting.