Example #1
0
def get_entity_by_name(riad_entitiy_name):

    riad_entity_by_name = pkgutil.get_data(
        'py_dgm', 'templates/riad_entity_by_name.sql').decode()
    # to-do: escape single quote in riad_entity_name:
    sql_query = riad_entity_by_name.format('NULL', riad_entitiy_name, 'NULL')

    mopdb = py_dgm.dbconn()
    results = pd.read_sql(sql_query, mopdb.conn)
    mopdb.conn.close()

    return results
Example #2
0
def get_close_linked_assets(args):

    riad_entity_by_name = pkgutil.get_data(
        'py_dgm', 'templates/riad_close_links_assets.sql').decode()
    # to-do: escape single quote in riad_entity_name:
    sql_query = riad_entity_by_name.format(args)

    mopdb = py_dgm.dbconn()
    results = pd.read_sql(sql_query, mopdb.conn)
    mopdb.conn.close()

    return results
Example #3
0
def wrapper_function(args):
    kwargs = {}
    #if args[0] is not None:
    kwargs['RIAD_CODE'] = args[0]
    #if args[1] is not None:
    kwargs['RIAD_NAME'] = args[1]
    #if args[2] is not None:
    kwargs['RIAD_OUID'] = args[2]
    accepted_values = ['RIAD_CODE', 'RIAD_NAME', 'RIAD_OUID']
    if not any(x in kwargs.keys() for x in accepted_values):
        raise Exception("No argument provided.")

    global mopdb
    mopdb = py_dgm.dbconn()

    print(" input: {}".format(kwargs))

    for k in accepted_values:
        if k not in kwargs.keys() or kwargs[k] == None or kwargs[k] == '':
            if k == 'RIAD_OUID':
                kwargs[k] = 'null'
            else:
                kwargs[k] = '#null'

    if all(kwargs[x] == 'null' for x in accepted_values):
        raise Exception("All arguments are empty.")

    entities_found = get_entity_by_kwargs(**kwargs)

    if len(entities_found.index) == 0:
        raise Exception("No entities found with name like '{}'".format(kwargs))
    elif len(entities_found.index) == 1:
        print(" found one match: ({}) {}".format(
            entities_found["RIAD_CODE"][0], entities_found["RIAD_NAME"][0]))
    elif len(entities_found.index) > 1:
        print(" {} matches - defaulting to first match: ({}) {}".format(
            len(entities_found.index), entities_found["RIAD_CODE"][0],
            entities_found["RIAD_NAME"][0]))

    group_structure = get_riad_group_by_riad_code(
        entities_found["RIAD_CODE"][0])
    #print(group_structure)
    result_count = len(group_structure.index) + 1  #+1 for Group Head
    print(" group contains {0} entities in RIAD.".format(result_count))
    #print(group_structure)
    print("\n\nShowing group results:\n")
    contents = show_tree_of_riad_group(group_structure, mopdb)

    mopdb.conn.close()
    return contents
Example #4
0
def get_riad_group_by_riad_code(riad_code):

    riad_group_by_riad_code = pkgutil.get_data(
        'py_dgm', 'templates/riad_group_by_riad_code.sql').decode()
    # to-do: escape single quote in riad_entity_name:
    sql_query = riad_group_by_riad_code.format(riad_code)

    mopdb = py_dgm.dbconn()
    results = pd.read_sql(sql_query, mopdb.conn)
    mopdb.conn.close()

    if len(results.index) == 0:
        raise Exception(
            "No group information found for RIAD code '{}'".format(riad_code))

    return results
Example #5
0
def get_entity_by_kwargs(**kwargs):
    if 'RIAD_CODE' not in kwargs or kwargs['RIAD_CODE'] is None:
        kwargs['RIAD_CODE'] = '#NULL'
    if 'RIAD_NAME' not in kwargs or kwargs['RIAD_NAME'] is None:
        kwargs['RIAD_NAME'] = '#NULL'
    if 'RIAD_OUID' not in kwargs or kwargs['RIAD_OUID'] is None:
        kwargs['RIAD_OUID'] = 'NULL'

    riad_entity_by_name = pkgutil.get_data(
        'py_dgm', 'templates/riad_entity_by_name.sql').decode()
    # to-do: escape single quote in riad_entity_name:
    sql_query = riad_entity_by_name.format(kwargs["RIAD_CODE"],
                                           kwargs["RIAD_NAME"],
                                           kwargs["RIAD_OUID"])

    mopdb = py_dgm.dbconn()
    results = pd.read_sql(sql_query, mopdb.conn)
    mopdb.conn.close()

    return results