#!/usr/bin/env python

import socket
import sys
import urllib


to_play = None
host = '127.0.0.1'
port = 9393

if len(sys.argv) > 1:
    to_play = sys.argv[1]

if len(sys.argv) > 2:
    host = sys.argv[2]

if len(sys.argv) > 3:
    port = int(sys.argv[3])

if 'http://' in to_play:
    file = urllib.urlopen(to_play)
else:
    file = urllib.urlopen('http://yp.shoutcast.com/sbin/tunein-station.pls?id=' + str(to_play))
feed = file.read()

streams = filter(lambda x: 'File' in x, feed.split('\n'))

to_play = None

if len(streams) > 0:
    to_play = streams[0].split('=')[1]

if to_play is not None:
    print('Playing: ' + to_play)
    try:
        sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sck.connect((host, port))
        sck.send('clear\n')
        sck.send('add ' + to_play + '\n')
        sck.send('play\n')
    except socket.error:
        sys.exit('Unable to connect to server: ' + host + ':' + str(port))
