This repository has been archived on 2024-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
diagram-parser/src/pis_find.py
Fred Boniface 59f6439872 Changes:
- PIS Finder
 - DOCX Parser
 - LOCAL MODE (DEPRECATED ALREADY)
2024-02-16 21:18:26 +00:00

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}")