コード例 #1
0
def main():
    #if len(sys.argv) is not 4:
    #    raise Exception("Must call with endpoint, username, and password" +\
    #                    " i.e.: python example.py http://<server>:9087 <user> <pass>")
    #endpoint = sys.argv[1]
    #username = sys.argv[2]
    #password = sys.argv[3]
    parser = argparse.ArgumentParser(description='Parse input parameters')
    parser.add_argument('-i', '--input', type=json.loads)
    parser.add_argument('-e', '--endpoint', type=str)
    parser.add_argument('-u', '--username', type=str)
    parser.add_argument('-p', '--password', type=str)
    parser.add_argument('-d', '--database', type=str)
    parser.add_argument('-r', '--readonly', type=str2bool)
    args = parser.parse_args()
    args = vars(args)
    endpoint = args['endpoint']
    username = args['username']
    password = args['password']
    #database = args['database']
    database = 'ACAS'

    compound_ids = args['input']['compounds']
    assays_to_add = args['input']['assays']
    experiment_code = args['input']['experimentCode']
    try:
        project = args['input']['project']
    except:
        project = "Global"
    try:
        logged_in_user = args['input']['username']
    except:
        logged_in_user = username
    apiSuffix = "/api"
    apiEndpoint = endpoint + apiSuffix
    api = Api(apiEndpoint, username, password)
    #    api.reload_db_constants()
    try:
        ld_client_version = float(ldclient.client.SUPPORTED_SERVER_VERSION)
    except:
        try:
            ld_client_version = float(
                ldclient.api.requester.SUPPORTED_SERVER_VERSION)
        except:
            ld_client_version = float(7.3)
    print("LDClient version is:" + str(ld_client_version))
    try:
        #    	projectId = api.get_project_id_by_name(project)
        matching_projects = [p for p in api.projects() if p.name == project]
        projectId = int(matching_projects[0].id.encode('ascii'))
        print("Project " + project + " found with id: " + str(projectId))
    except:
        projectId = 0
    if type(projectId) is not int:
        projectId = 0
    lr_id = make_acas_live_report(api, compound_ids, assays_to_add,
                                  experiment_code, logged_in_user, database,
                                  projectId, ld_client_version,
                                  args["readonly"])

    liveReportSuffix = "/#/projects/" + str(projectId) + "/livereports/"
    print(endpoint + liveReportSuffix + str(lr_id))