import time, socket, sys
import rawsc
import rawsc.service
from rawsc import rase
import rawsc.rase.service
try:
from xml.etree import cElementTree as ElementTree
except ImportError:
try:
import cElementTree as ElementTree
except ImportError:
from elementtree import ElementTree
USER = ""
PWD = ""
SERVER = "rase.str01.rambla.be"
RASE_SDP_FILENAME = ""
def CREATE_LOCAL_SDP_FILE(portnrs, broadcast_ip):
...
return path_to_local_sdp_file
try:
wowapp_entry = None
client = rawsc.rase.service.RaseService(username=USER, password=PWD, server=SERVER)
qry = rawsc.Query()
qry["type"] = "rtp-live"
wowapp_feed = client.getWowappFeed(query = qry)
for e in wowapp_feed.entry:
wowapp_entry = e
break
if not wowapp_entry:
print "Failed to retrieve wowapp entry of the given type."
sys.exit(1)
else:
print "\nRetrieved wowza app:"
print "\Wowapp Entry URI: " + str(wowapp_entry.id.text)
print "id: " + str(wowapp_entry.content.params.id.text)
print "description: " + str(wowapp_entry.content.params.description.text)
print "stream_type: " + str(wowapp_entry.content.params.stream_type.text)
print "stream_uri: " + str(wowapp_entry.content.params.stream_uri.text)
print "master_uri: " + str(wowapp_entry.content.params.master_uri.text)
print "broadcast_domain: " + str(wowapp_entry.content.params.broadcast_domain.text)
print "broadcast_ip: " + str(wowapp_entry.content.params.broadcast_ip.text)
port_entry = client.createPort(nr_of_ports = "4")
print "\nReserved port-numbers for stream: " + str(port_entry.content.params.portnrs.text)
path_to_local_sdp_file = CREATE_LOCAL_SDP_FILE(portnrs= port.content.params.portnrs.text, broadcast_ip=wowapp_entry.content.params.broadcast_ip.text)
wowsdp_entry = client.createWowsdp(filename = RASE_SDP_FILENAME, local_path = path_to_local_sdp_file)
wowsdp_entry.content.params.port.text = port_entry.content.params.id.text
wowsdp_entry.content.params.wowapp.text = wowapp_entry.content.params.id.text
wowsdp_entry.content.params.ip_address.text = socket.gethostbyname(socket.gethostname())
wowsdp_entry.content.params.description.text = "Testing"
wowsdp_entry = client.updateWowsdp(entry = wowsdp_entry)
if int(wowsdp_entry.content.params.status.text):
print "\n\nCreated wowsdp resource:"
print "broadcast_ip: " + str(wowsdp_entry.content.params.broadcast_ip.text)
print "port id: " + str(wowsdp_entry.content.params.port.text)
print "stream_loc: " + str(wowsdp_entry.content.params.stream_loc.text)
print "stream_uri: " + str(wowsdp_entry.content.params.stream_uri.text)
print "master_uri: " + str(wowsdp_entry.content.params.master_uri.text)
except rawsc.service.Error, e:
print "Error Response from server, contents = %s.\n" % str(e)
error_dict = e[0]
print "status code : " + str(error_dict["status"]) + "\n"
if error_dict.has_key("body"):
print "error body : " + error_dict["body"] + "\n"
except rawsc.RawscException, e:
print "RawscException caught, reason = %s.\n" % str(e)
except StandardError, e:
print "StandardError caught, reason = %s.\n" % str(e)
except:
print "unhandled exception caught\n"