#!/usr/bin/env python
#///////////////////////////////////////////////////////////////////////////////
#// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
#//                                                                           //
#// All rights reserved. This program and the accompanying materials          //
#// are made available under the terms of the Eclipse Public License v2.0     //
#// which accompanies this distribution, and is available at                  //
#// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
#///////////////////////////////////////////////////////////////////////////////

import urllib2
import json
import sys
from DsRestAPI import *

serverPortNum = str(sys.argv[1])
request = str(sys.argv[2])

requestToSend = json.loads(request)["requests"];
url = "http://localhost:" + serverPortNum
api = DsRestAPI(url)

print api.getContentList(requestToSend)
