From 95881aeadadefb236c25b50af4e90a5eed28171f Mon Sep 17 00:00:00 2001 From: Henry Bilby Date: Wed, 27 May 2009 22:27:45 -0400 Subject: [PATCH] Updating the def _handle_cmds_ from zukebox_contro_point.py --- control_point/zukebox_control_point.py | 39 +++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/control_point/zukebox_control_point.py b/control_point/zukebox_control_point.py index c45a6a9..f487e54 100644 --- a/control_point/zukebox_control_point.py +++ b/control_point/zukebox_control_point.py @@ -7,8 +7,10 @@ from brisa.core.network import parse_url from brisa.core.threaded_call import run_async_function from brisa.upnp.control_point.control_point import ControlPoint +from brisa.upnp.control_point.control_point_av import ControlPointAV -service = ('u','urn:schemas-upnp-org:service:AudioLibrary:1') +devices=[] +service = ('u','urn:schemas-upnp-org:service:PlayList:1') zukebox_type = 'urn:schemas-upnp-org:device:ZukeBoxServer:1' def on_new_device(dev): @@ -18,9 +20,16 @@ def on_new_device(dev): if not dev: return + print devices + devices.append(dev) + + def on_removed_device(udn): print 'Device is gone: ', udn + for dev in devices: + if dev.udn == udn: + devices.remove(dev) def get_switch_service(device): return device.services[service[1]] @@ -28,7 +37,7 @@ def get_switch_service(device): def create_control_point(): """ Creates the control point and binds callbacks to device events. """ - c = ControlPoint() + c = ControlPointAV() c.subscribe('new_device_event', on_new_device) c.subscribe('removed_device_event', on_removed_device) return c @@ -79,21 +88,25 @@ def _handle_cmds(c): k+=1 elif input.startswith('set_zukebox'): try: - c.current_server = devices[int(input.split(' ')[1])] - except: - print 'Zukebox number not found. Please run list and check againg' - c.current_server = None + device_number = int(input.split(' ')[1]) + c.set_current_server(devices[device_number]) + except Exception, e: + print 'Zukebox number not found. Please run list and check again. Exception: \n %s' % e + c.set_current_server(None) elif input == 'get_playlist': try: - service = get_switch_service(c.current_server) - playlist = service.GetPlaylist() - for music in playlist: - print '%s', music.name + print c.get_current_server().services + serviceTest = get_switch_service(c.get_current_server()) + print dir(serviceTest.get_actions.__doc__) + playlist = serviceTest.get_actions() + print 'Playlist: %s' % playlist + #for music in playlist: + #print '%s', music.name except Exception, e: - if not hasattr(c, 'current_server') or not c.current_server: - print 'Zukebox device not set. Please use set zukebox ' + if not hasattr(c, 'get_current_server()') or not c.get_current_server(): + print 'Zukebox device not set. Please use set zukebox . Exception: %s' % e else: - print 'Erro in get_playlist: ',e + print 'Erro in get_playlist: %s' % e elif input == 'exit': break -- 1.7.9.5