From 30febf051cd3af44c04abf0d2ef4883ddc8b8701 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 1 Feb 2013 00:16:22 +0800 Subject: [PATCH] spotify plugin --- plugins/spotify.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 plugins/spotify.py diff --git a/plugins/spotify.py b/plugins/spotify.py new file mode 100644 index 0000000..a26b5e9 --- /dev/null +++ b/plugins/spotify.py @@ -0,0 +1,33 @@ +import re +import time + +from util import hook, http + + +spotify_re = (r'open\.spotify\.com\/track\/' + '([a-z\d]{22})', re.I) + +base_url = 'http://ws.spotify.com/' +api_url = base_url + 'lookup/1/.json?uri=spotify:track:{}' +track_url = "spotify://track:" + + +def get_video_description(spotify_id): + request = http.get_json(api_url.format(spotify_id)) + + if request.get('error'): + return spotify_id + + data = request['track'] + + out = '\x02%s\x02' % data['name'] + out += ', by %s' % data['artists']['name'] + out += ' from the album %s released in ' % data['album']['name'] + out += '%s' % data['album']['released'] + + return out + + +@hook.regex(*spotify_re) +def spotify_url(match): + return get_video_description(match.group(1)) \ No newline at end of file