import time
import rawsc
import rawsc.service
from rawsc import rass
import rawsc.rass.service
from rawsc.rass import Tag, Meta
try:
from xml.etree import cElementTree as ElementTree
except ImportError:
try:
import cElementTree as ElementTree
except ImportError:
from elementtree import ElementTree
USER = "XXX"
PWD = "XXX"
SERVER = "rass.cdn0XXX.rambla.be"
LOCAL_FILE = "/path/to/local/file.mp4"
TGT_FILENAME = "white_noise.mp4"
try:
client = rawsc.rass.service.RassService(username=USER, password=PWD, server=SERVER)
item_entry = client.postItem(dirpath = "/tutorial10/", filename = TGT_FILENAME, local_path = LOCAL_FILE)
print "\nCreated new item resource: %s" % item_entry.id.text
meta_entry = client.createMeta(path = item_entry.path, metas = [Meta(vocab = "dc", name = "title", text="Cloud watching"),Meta(vocab = "dc", name = "contributor", text="Rambla"),])
print "\nSet meta element on the meta resource: %s" % meta_entry.id.text
for t in meta_entry.content.params.meta:
print "\nMeta element :"
print "* vocab:" + t.vocab
print "* name: " + t.name
if t.text:
print "* value: " + t.text
for k,v in t.extension_attributes.items():
print "* attrib: " + k + " = " + v
if t.vocab == "dc" and t.name == "title":
t.text = "Cloud Streaming"
meta_entry.content.params.meta.append(Meta(vocab="media",name='price',extension_attributes={"type":"rent", "price":"19.99", "currency":"EUR",}))
meta_entry = client.updateMeta(meta_entry)
print "\nUpdated meta resource: %s" % meta_entry.id.text
for t in meta_entry.content.params.meta:
print "\nMeta element :"
print "* vocab:" + t.vocab
print "* name: " + t.name
if t.text:
print "* value: " + t.text
for k,v in t.extension_attributes.items():
print "* attrib: " + k + " = " + v
meta_entry = client.createMeta(path = meta_entry.path, metas = [Meta(vocab = "myvocab", name = "animal", text = "lion",
extension_attributes={"description":"sleeping at night",}),
Meta(vocab = "myvocab", name = "like",
extension_attributes={"likes":"1520", "dislikes":"2",})
])
print "\nReplacing meta elements for entry : %s" % meta_entry.id.text
for t in meta_entry.content.params.meta:
print "\nMeta element :"
print "* vocab:" + t.vocab
print "* name: " + t.name
if t.text:
print "* value: " + t.text
for k,v in t.extension_attributes.items():
print "* attrib: " + k + " = " + v
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"