def getdata_old(url, ckey=None, cert=None, method='GET', postdata=None, debug=0): "Get data from SSO based data-service" if not ckey and not cert: from DCAF.utils.utils import get_key_cert ckey, cert = get_key_cert() content = getContent(url, ckey, cert, postdata, method, debug) return content
def popdb_datasets(tstart, tstop, url): "Fetch data from popDB for given time frame and print out datasets" api = "DSStatInTimeWindow" ckey, cert = get_key_cert() params = {"tstart": tstart, "tstop": tstop} url = "%s/%s/?%s" % (url, api, urllib.urlencode(params, doseq=True)) data = getdata(url, ckey=ckey, cert=cert, debug=0) data = json.loads(data) headers = [] for row in data["DATA"]: if not headers: headers = row.keys() print(",".join(headers)) out = [str(row[k]) for k in headers] print(",".join(out))
def popdb_datasets(tstart, tstop, url): "Fetch data from popDB for given time frame and print out datasets" api = 'DSStatInTimeWindow' ckey, cert = get_key_cert() params = {'tstart': tstart, 'tstop': tstop} url = '%s/%s/?%s' % (url, api, urllib.urlencode(params, doseq=True)) data = getdata(url, ckey=ckey, cert=cert, debug=0) data = json.loads(data) headers = [] for row in data['DATA']: if not headers: headers = row.keys() print(','.join(headers)) out = [str(row[k]) for k in headers] print(','.join(out))
def getdata(url, params=None, headers=None, ckey=None, cert=None, debug=0): "Fetch data for given url and set of parameters" if params: url += '?%s' % urllib.urlencode(params, doseq=True) if debug: print("getdata:url", url) req = urllib2.Request(url) if headers == None: headers = {'Accept': 'application/json'} if headers: for key, val in headers.items(): req.add_header(key, val) ckey, cert = get_key_cert() handler = HTTPSClientAuthHandler(ckey, cert, debug) opener = urllib2.build_opener(handler) urllib2.install_opener(opener) data = urllib2.urlopen(req) #print len(json.load(data)) return data.read()
def popdb_datasets(tstart, tstop, url): "Fetch data from popDB for given time frame and print out datasets" api = 'DSStatInTimeWindow' ckey, cert = get_key_cert() params = {'tstart':tstart, 'tstop':tstop} url = '%s/%s?%s' % (url, api, urllib.urlencode(params, doseq=True)) # NOTE: popularity DB has two different access points, one # within CERN network and out outside. The former does not require # authentication, while later passes through CERN SSO. # The following block reflects this, in a future, when popularity DB # will move into cmsweb domain we'll no longer need it if url.find('cms-popularity-prod.cern.ch') != -1: data = getdata(url, ckey=ckey, cert=cert, debug=0) else: data = sso_getdata(url, ckey=ckey, cert=cert, debug=0) data = json.loads(data) headers = [] for row in data['DATA']: if not headers: headers = row.keys() print(','.join(headers)) out = [str(row[k]) for k in headers] print(','.join(out))
def __init__(self, config=None, verbose=0): GenericService.__init__(self, config, verbose) self.name = 'dashboard' self.url = config['services'][self.name] self.ckey, self.cert = get_key_cert() self.sitedb = SiteDBService(config)
def __init__(self, config=None, verbose=0): GenericService.__init__(self, config, verbose) self.name = 'popdb' self.url = config['services'][self.name] self.ckey, self.cert = get_key_cert()