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
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
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
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
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