import requests 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"{missing_data} missing PIS codes in OwlBoard 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 ## AUTH REQUIRED!!! def find_missing(data_list): BASEURL = 'http://localhost:8460/api/v2/pis/byCode/' #BASEURL = 'https://owlboard.info/api/v2/pis/byCode/' missing_data = [] for item in data_list: pis_code = item.get('pis') if pis_code: url = BASEURL + pis_code response = requests.get(url) if response.status_code == 200: json_response = response.json() if json_response and isinstance(json_response, list): missing_data.append(item) else: print(f"Request failed for PIS {pis_code}. Status: {response.status_code}")