Пример #1
0
def search_users(nels_id=None,
                 idp_number=None,
                 federated_id=None,
                 name=None,
                 email=None,
                 user_type_id=None,
                 is_active=None,
                 affiliation=None):
    print email

    if True:
        json_body = {}

        json_body[u'federated_id'] = []
        print json_body
        response = requests.post(config.sbi_url("/users/query"),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))
        print response

        if response.status_code == requests.codes.ok:
            print response.json()
            return response.json()
    else:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #2
0
def delete_quota(id):
    try:
        response = requests.delete(config.sbi_url("quotas/%s" % id), auth=(config.SBI_KEY, config.SBI_SECRET))
        return response.status_code == requests.codes.no_content
    except:
        feed_utils.error(sys.exc_info()[0])
    return False
Пример #3
0
def get_subtypes_in_dataset_in_project(project_id, dataset_id):
    try:
        ids = []

        response = requests.get(config.sbi_url(
            "projects/%s/datasets/%s/subtypes" % (project_id, dataset_id)),
                                auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:

            json_response = response.json()

            if json_response == []:
                """project dataset without subtypes"""
                return json_response
            else:
                for uid in json_response:
                    if u'id' in uid:
                        feed_utils.info(uid)
                        ids.append(uid[u'id'])
                return ids
        else:
            feed_utils.debug(response.status_code)
            feed_utils.info(response.text)
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #4
0
def add_dataset_to_project(project_id, federated_id):
    try:
        json_dataset_type_array = get_dataset_types()
        json_body = {
            "data_set_type_id": json_dataset_type_array["data"][0]["id"],
            "name": "dataset integration",
            "description": "test"
        }

        headers = {'federated-id': federated_id}

        response = requests.post(config.sbi_url("projects/%s/datasets" %
                                                (project_id)),
                                 headers=headers,
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.created:

            return True
        else:
            feed_utils.info(response.status_code)
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #5
0
def get_quota(quota_id):
    try:
        response = requests.get(config.sbi_url("quotas/%s" % quota_id), auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:
            return response.json()
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #6
0
def get_dataset_types():
    try:
        response = requests.get(config.sbi_url("datasettypes"),
                                auth=(config.SBI_KEY, config.SBI_SECRET))
        if response.status_code == requests.codes.ok:
            return response.json()
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #7
0
def get_dataset_in_project(project_id, dataset_id):
    try:
        response = requests.get(config.sbi_url("projects/%s/datasets/%s" %
                                               (project_id, dataset_id)),
                                auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:
            return response.json()
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #8
0
def delete_dataset_in_project(project_id, dataset_id):
    try:
        response = requests.delete(config.sbi_url("projects/%s/datasets/%s" %
                                                  (project_id, dataset_id)),
                                   auth=(config.SBI_KEY, config.SBI_SECRET))
        if response.status_code == requests.codes.no_content:
            return True
        else:
            feed_utils.info(response.status_code)
            feed_utils.info(response.text)
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #9
0
def update_project(json_body_update_project, project_id):
    try:
        json_body = json_body_update_project
        response = requests.put(config.sbi_url("projects/%s" % project_id),
                                json=json_body,
                                auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.no_content:
            return project_id
    except:

        feed_utils.error(sys.exc_info()[0])
    return None
Пример #10
0
def delete_user_from_project(project_id, federated_id):
    try:
        json_data_array = [federated_id]
        json_body = {"method": "delete", "data": json_data_array}

        response = requests.post(config.sbi_url("projects/%s/users/do" %
                                                (project_id)),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))
        return response.status_code == requests.codes.ok

    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #11
0
def recompute_project_disc_usage():
    try:
        json_body = {"method": "re_populate_project_disk_usage"}
        response = requests.post(config.sbi_url("projects/do"),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:
            return response.status_code == requests.codes.ok
        else:
            feed_utils.info(response.status_code)
    except:
        feed_utils.error(sys.exc_info()[0])
    return False
Пример #12
0
def get_user_ids():
    try:
        ids = []
        response = requests.get(config.sbi_url("users"),
                                auth=(config.SBI_KEY, config.SBI_SECRET))
        if response.status_code == requests.codes.ok:
            json_response = response.json()

            for uid in json_response[u'data']:
                ids.append(uid[u'user_id'])
            return ids
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #13
0
def search_quotas(name):
    try:
        json_body = {'name': name, 'query': name}

        response = requests.post(config.sbi_url("quotas/query"), json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:
            return response.json()

        feed_utils.debug(response.status_code)
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #14
0
def get_users_in_project(project_id):
    try:

        response = requests.get(config.sbi_url("projects/%s/users" %
                                               (project_id)),
                                auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.ok:
            json_response = response.json()
            return json_response
        else:
            feed_utils.info(response.text)

    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #15
0
def add_quota(name, federated_id):
    try:

        json_body = {u'name': u'%s' % name,
                     u'description': u'added from integration test',
                     u'federated_id': u'%s' % federated_id,
                     u'quota_size': 1000000000000}

        response = requests.post(config.sbi_url("quotas/"), json=json_body, auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.created:
            return requests.codes.created
        feed_utils.info(response.text)
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #16
0
def add_user_to_project(project_id, membership_type, federated_id):
    try:
        json_data_array = [{
            "federated_id": federated_id,
            "role": membership_type
        }]
        json_body = {"method": "add", "data": json_data_array}

        response = requests.post(config.sbi_url("projects/%s/users/do" %
                                                (project_id)),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))
        return response.status_code == requests.codes.ok
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #17
0
def delete_project(federated_id, project_id):
    try:

        json_body = {u'federated_id': u'%s' % federated_id}
        response = requests.post(config.sbi_url("projects/%s" % project_id),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.no_content:
            return True
        else:
            feed_utils.debug(response.status_code)
            feed_utils.info(response.text)

    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #18
0
def get_projects_in_quota(quota_id):
    try:
        ids = []
        response = requests.get(config.sbi_url("quotas/%s/projects" % (quota_id)),
                                auth=(config.SBI_KEY, config.SBI_SECRET))
        feed_utils.info(response.json())
        if response.status_code == requests.codes.ok:
            json_response = response.json()
            if json_response[u'count'] > 0:

                for uid in json_response[u'data']:
                    ids.append(uid[u'project_id'])

            else:
                feed_utils.ok("No projects in this quota")
            return ids
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #19
0
def search_projects(project_id=None, name=None):
    try:
        json_body = {}
        if project_id:
            json_body['id'] = project_id
            json_body['query'] = project_id
        if name:
            json_body['name'] = name
            json_body['query'] = name

        response = requests.post(config.sbi_url("projects/query"),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        feed_utils.debug("Response headers: %s" % response.headers)

        if response.status_code == requests.codes.ok:
            return response.json()
    except:
        feed_utils.error(sys.exc_info()[0])
    return None
Пример #20
0
def add_project(quota_id, name, federated_id):
    try:

        json_body = {
            u'name': u'%s' % name,
            u'description': u'added from integration test',
            u'quota_id': int(quota_id),
            u'federated_id': u'%s' % federated_id,
            u'contact_person': u'Contact Person',
            u'contact_email': u'%s' % federated_id,
            u'contact_affiliation': u'UiB'
        }

        response = requests.post(config.sbi_url("projects/"),
                                 json=json_body,
                                 auth=(config.SBI_KEY, config.SBI_SECRET))

        if response.status_code == requests.codes.created:
            return response.json()["id"]
    except:

        feed_utils.error(sys.exc_info()[0])
    return None