def export_data(issuer, distance=True, vo='def', session=None): """ Export data from Rucio. :param issuer: the issuer. :param distance: To enable the reporting of distance. :param vo: the VO of the issuer. :param session: The database session in use. """ kwargs = {'issuer': issuer} if not permission.has_permission( issuer=issuer, vo=vo, action='export', kwargs=kwargs, session=session): raise exception.AccessDenied('Account %s can not export data' % issuer) data = exporter.export_data(distance=distance, vo=vo, session=session) rses = {} distances = {} for rse_id in data['rses']: rse = data['rses'][rse_id] rses[get_rse_name(rse_id=rse_id, session=session)] = rse data['rses'] = rses if distance: for src_id in data['distances']: dests = data['distances'][src_id] src = get_rse_name(rse_id=src_id, session=session) distances[src] = {} for dest_id in dests: dest = get_rse_name(rse_id=dest_id, session=session) distances[src][dest] = dests[dest_id] data['distances'] = distances return data
def export_data(issuer, vo='def'): """ Export data from Rucio. :param issuer: the issuer. :param vo: the VO of the issuer. """ kwargs = {'issuer': issuer} if not permission.has_permission( issuer=issuer, vo=vo, action='export', kwargs=kwargs): raise exception.AccessDenied('Account %s can not export data' % issuer) data = exporter.export_data(vo=vo) rses = {} distances = {} for rse_id in data['rses']: rse = data['rses'][rse_id] rses[get_rse_name(rse_id=rse_id)] = rse data['rses'] = rses for src_id, tmp in data['distances']: src = get_rse_name(rse_id=src_id) distances[src] = {} for dst_id, dists in tmp: dst = get_rse_name(rse_id=dst_id) distances[src][dst] = dists data['distances'] = distances return data
def export_data(issuer): """ Export data from Rucio. :param issuer: the issuer. """ kwargs = {'issuer': issuer} if not permission.has_permission( issuer=issuer, action='export', kwargs=kwargs): raise exception.AccessDenied('Account %s can not export data' % issuer) data = exporter.export_data() rses = {} distances = {} for rse_id in data['rses']: rse = data['rses'][rse_id] rses[get_rse_name(rse_id=rse_id)] = rse data['rses'] = rses for src_id in data['distances']: dests = data['distances'][src_id] src = get_rse_name(rse_id=src_id) distances[src] = {} for dest_id in dests: dest = get_rse_name(rse_id=dest_id) distances[src][dest] = dests[dest_id] data['distances'] = distances return data
def export_data(issuer): """ Export data from Rucio. :param issuer: the issuer. """ kwargs = {'issuer': issuer} if not permission.has_permission( issuer=issuer, action='export', kwargs=kwargs): raise exception.AccessDenied('Account %s can not export data' % issuer) return exporter.export_data()
def test_export_core(self): """ EXPORT (CORE): Test the export of data.""" data = export_data() assert_equal(data['rses'], export_rses()) assert_equal(data['distances'], export_distances())