def update_header_list(self, dataset_id, header_list): if isinstance(header_list, list): header_list = st.make_list_to_str(header_list) if isinstance(header_list, str): header_list = header_list.split(',') header_list_tmp = dm.DataManager.get_dataset_table_headers( dm.DataManager, dataset_id=dataset_id, local=False) if not st.check_list_identical(header_list, header_list_tmp): if header_list[0] == '' and len(header_list) == 1: header_list = header_list_tmp elif not all(x in header_list for x in header_list_tmp): [ header_list.append(val) for val in header_list_tmp if not val in header_list ] header_list = st.make_list_to_str(header_list) return header_list
def get_all_suitable_cleansers_by_header(self, user_id): suitable_cleaners = [] cleansers = self.get_all_cleansers(DataCleanser) datasets = dm.DataManager.get_all_datasets_only_id( dm.DataManager, user_id) for cleanser in cleansers: for dataset_id in datasets: dataset_header = dm.DataManager.get_dataset_table_headers( dm.DataManager, dataset_id=dataset_id, local=False) if cleanser.get_header_list() == st.make_list_to_str( dataset_header): suitable_cleaners.append(cleanser) elif all(x in cleanser.get_header_list() for x in dataset_header): suitable_cleaners.append(cleanser) return list(set(suitable_cleaners))