def icy_update(v) = # Parse the argument l = string.split(separator=",", v) def split(l, v) = v = string.split(separator="=", v) if list.length(v) >= 2 then list.append(l, [(list.nth(v, 0, default=""), list.nth(v, 1, default=""))]) else l end end meta = list.fold(split, [], l) # Update metadata icy.update_metadata( mount="/mystream", password="hackme", host="myserver.net", meta ) "Done !" end server.register( "update", namespace="metadata", description= "Update metadata", usage= "update title=foo,album=bar,..", icy_update )