## This modile compares discovered PIS codes with existing PIS codes obtained by calling pis_fetch import pis_fetch import sys def run(data_list): deduplicated_data = dedup(data_list) print(f"Removed {len(data_list) - len(deduplicated_data)} duplicate codes") print(f"Searching for {len(deduplicated_data)} PIS codes") missing_data = find_missing(deduplicated_data) print(f"{len(missing_data)} missing PIS codes in OwlBoard data") return missing_data def dedup(data_list): unique_dicts = {d['pis']: d for d in data_list}.values() unique_list_of_dicts = list(unique_dicts) return unique_list_of_dicts def find_missing(data_list): existing_pis_list = pis_fetch.load_existing_pis() missing_data = [] for item in data_list: pis_code = item.get('pis') if pis_code: code_exists = False for existing_pis in existing_pis_list: if str(existing_pis['code']) == pis_code: code_exists = True break if not code_exists: missing_data.append(item) return missing_data