# read in uom and LOV files uom_df = pd.DataFrame() #uom_groups_url = 'https://raw.githubusercontent.com/gamut-code/attribute_mapping/master/UOM_data_sheet.csv' # create df of the uom groupings (ID and UOMs for each group) #data_file = requests.get(uom_groups_url).content #uom_df = pd.read_csv(io.StringIO(data_file.decode('utf-8'))) # get uom list filename = 'C:/Users/xcxg109/NonDriveFiles/reference/UOM_data_sheet.csv' uom_df = pd.read_csv(filename) # create df of the lovs and their concat values lov_df, lov_list = q.get_LOVs() data_type = fd.search_type() print('working...') if data_type == 'grainger_query': search_level = fd.blue_search_level() search_data = fd.data_in(data_type, settings.directory_name) if search_level == 'cat.CATEGORY_ID': for level_1 in search_data: grainger_df = q.gcom.grainger_q(grainger_attr_ETL_query, search_level, level_1) print('k = ', level_1) if grainger_df.empty == False: df_upload, gamut_dict = attribute_process(
def generate_data(): gcom = GraingerQuery() #request the type of data to pull: blue or yellow, SKUs or node, single entry or read from file data_type = fd.search_type() search_level = 'cat.CATEGORY_ID' #if Blue is chosen, determine the level to pull L1 (segment), L2 (family), or L1 (category) if data_type == 'node': search_level = fd.blue_search_level() #ask user for node number/SKU or pull from file if desired search_data = fd.data_in(data_type, settings.directory_name) sku_status = skus_to_pull( ) #determine whether or not to include discontinued items in the data pull grainger_df = pd.DataFrame() if data_type == 'node': for k in search_data: if sku_status == 'filtered': temp_df = gcom.grainger_q(grainger_basic_query, search_level, k) temp_df = gcom.grainger_q(grainger_basic_query, search_level, k) elif sku_status == 'all': temp_df = gcom.grainger_q(grainger_discontinued_query, search_level, k) grainger_df = pd.concat([grainger_df, temp_df], axis=0) print(k) elif data_type == 'yellow': for k in search_data: if isinstance(k, int): #k.isdigit() == True: pass else: k = "'" + str(k) + "'" if sku_status == 'filtered': temp_df = gcom.grainger_q(grainger_basic_query, 'yellow.PROD_CLASS_ID', k) elif sku_status == 'all': temp_df = gcom.grainger_q(grainger_discontinued_query, 'yellow.PROD_CLASS_ID', k) grainger_df = pd.concat([grainger_df, temp_df], axis=0) print(k) elif data_type == 'sku': sku_str = ", ".join("'" + str(i) + "'" for i in search_data) if sku_status == 'filtered': grainger_df = gcom.grainger_q(grainger_basic_query, 'item.MATERIAL_NO', sku_str) elif sku_status == 'all': grainger_df = gcom.grainger_q(grainger_discontinued_query, 'item.MATERIAL_NO', sku_str) elif data_type == 'supplier': for k in search_data: if sku_status == 'filtered': temp_df = gcom.grainger_q(grainger_basic_query, 'supplier.SUPPLIER_NO', k) elif sku_status == 'all': temp_df = gcom.grainger_q(grainger_discontinued_query, 'supplier.SUPPLIER_NO', k) grainger_df = pd.concat([grainger_df, temp_df], axis=0) print(k) return [grainger_df, search_level]