update wuvt module for new site

master
mutantmonkey 2015-03-05 16:14:46 -08:00
parent 83b286e8af
commit d963ac2e70
2 changed files with 16 additions and 26 deletions

View File

@ -15,7 +15,7 @@ class TestWuvt(unittest.TestCase):
def test_wuvt(self):
wuvt(self.phenny, None)
out = self.phenny.reply.call_args[0][0]
m = re.match('^DJ .* is currently playing: .* by .*$', out,
out = self.phenny.say.call_args[0][0]
m = re.match('^DJ .* is currently playing .* by .*$', out,
flags=re.UNICODE)
self.assertTrue(m)

View File

@ -1,39 +1,29 @@
#!/usr/bin/env python
"""
wuvt.py - Phenny WUVT Module
Copyright 2012, Randy Nance, randynance.info
http://github.com/randynobx/phenny/
wuvt.py - WUVT now playing module for phenny
"""
from tools import GrumbleError
import re
import web
re.MULTILINE
r_play = re.compile(r'^(.*?) - (.*?)$')
r_dj = re.compile(r'Current DJ: </span>\n(.+?)<')
def wuvt(phenny, input):
""".wuvt - Find out what is currently playing on the radio station WUVT."""
try:
playing = web.get('http://www.wuvt.vt.edu/playlists/latest_track.php')
djpage = web.get('http://www.wuvt.vt.edu/playlists/current_dj.php')
data = web.get('https://www.wuvt.vt.edu/playlists/latest_track',
headers={'Accept': "application/json"})
trackinfo = web.json(data)
except:
raise GrumbleError('Cannot connect to wuvt')
play= r_play.search(playing)
song = play.group(2)
artist = play.group(1)
dj = r_dj.search(djpage).group(1)
raise GrumbleError("Failed to fetch current track from WUVT")
if song and artist:
if dj.strip()[0:3] == 'DJ ':
phenny.reply('{0} is currently playing: {1} by {2}'
.format(dj.strip(), song.strip(), artist.strip()))
else:
phenny.reply('DJ {0} is currently playing: {1} by {2}'
.format(dj.strip(), song.strip(), artist.strip()))
else:
phenny.reply('Cannot connect to wuvt')
dj = trackinfo['dj'].strip()
if dj[0:3] != 'DJ ':
dj = 'DJ {}'.format(dj)
phenny.say("{dj} is currently playing {title} by {artist}".format(
dj=dj,
title=trackinfo['title'].strip(),
artist=trackinfo['artist'].strip()))
wuvt.commands = ['wuvt']
wuvt.example = '.wuvt'