This is not necessarily a bad idea, but these people add up fast, and horrendous musical whiplash can result as you find out somebody who blipped Sigur Ros once really really loves an abomination like 80s era Aerosmith. Even worse, a lot of these people won't be bothered to reciprocate: they'll have 5,000 listeners, but only 74 favorites. Perhaps they're discerning, but it just seems rude to me, and annoying.
Anyhow, I had accumulated 500+ favorite DJs, and many of them were deadbeats who weren't reciprocating. So with the handy blip.fm API, I wiped them all out like in that revenge montage from the first Godfather movie. Very, very minimal Python was required:
def getNoRecip(bconn, username, length):I put the sleep(5) in there to be nice, although it really wasn't that many requests all told.
lisses = bconn.user_getListeners(username,0,length)
faves = bconn.user_getFavoriteDJs(username,0,length)
lisNames = [l["urlName"] for l in lisses]
favNames = [f["urlName"] for f in faves]
noRecip = [f for f in favNames if f not in lisNames]
youNoRecip = [l for l in lisNames if l not in favNames]
return (noRecip, youNoRecip)
if __name__ == "__main__":
deaders = open("killed.log", "a")
deaders.write("Getting ready to wax some chumps.\n")
# need REAL password
blipConn = BlipConnection(username = 'SoundSystemSDC',
(dudes, youDiss) = getNoRecip(blipConn,
for dude in dudes:
print "Killin' wack punk:\t%\n" % dude
deaders.write("Killed: %s\n" % dude)
print "That's %i shifty dudes." % len(dudes)
deaders.write("killed %s all told." % len(dudes))
It was quick and dirty, and kind of handy. Now it'd be nice to have a Greasemonkey plugin to filter out Blips from Aerosmith (and other unfavorite artists).