#!/usr/bin/python2 import os, sys import time from optparse import Option from AccessGrid.Venue import VenueIW from AccessGrid.Toolkit import CmdlineApplication from AccessGrid.ClientProfile import ClientProfile from AccessGrid.Types import Capability from AccessGrid.Descriptions import StreamDescription from AccessGrid.Events import UpdateDataEvent doc =""" This program gets the stream information from the venue. """ # Initialize app = CmdlineApplication() urlOption = Option("-u", "--url", dest="url", default=None, help="Specify a venue url on the command line.") app.AddCmdLineOption(urlOption) args = app.Initialize() venueUrl = app.GetOption("url") print "URL: ", venueUrl if venueUrl is None: print "Exiting, no url specified." sys.exit(0) venueClient = VenueIW(venueUrl) client = ClientProfile() client.name = 'InSORS Node' client.email = '' client.phoneNumber = '' client.location = '' capabilityAudioProducer = Capability(Capability.PRODUCER, Capability.AUDIO) capabilityVideoProducer = Capability(Capability.PRODUCER, Capability.VIDEO) capabilityAudioConsumer = Capability(Capability.CONSUMER, Capability.AUDIO) capabilityVideoConsumer = Capability(Capability.CONSUMER, Capability.VIDEO) client.capabilities = [capabilityAudioProducer, capabilityVideoProducer, capabilityAudioConsumer, capabilityVideoConsumer] privateId = None; try: print "Entering Venue" (state, privateId, streamDescriptions) = venueClient.Enter(client) print "PrivateID: " + privateId print "PublicID: " + client.publicId streams = venueClient.GetStreams() for s in streams: print "Stream: ", s.AsINIBlock() while 0==0: venueClient.UpdateClientProfile(client) time.sleep(10) except: try: print "Exiting Venue" venueClient.Exit(privateId) except: print "Error"