33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
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}") |